Main Objective: Implement matrix addition using sequential, OpenMP, and MPI models on a 4-core system. Compare performance, scalability, and efficiency across approaches. Learning Outcomes: Sequential Execution – establish baseline time & complexity. OpenMP (Shared Memory) – multi-threading, synchronization, and overhead analysis. MPI Point-to-Point – message passing with Send/Recv, handle deadlocks & partitioning. MPI Collective – use Scatter/Gather/Bcast/Reduce for simpler, scalable communication. Goal: Build hands-on understanding of trade-offs in parallel programming models.