Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
DS 221 AUG 3:1 Introduction to Scalable Systems (VSS/YS)
·
Module 7
Distributed-Memory Parallelism with MPI
1
Message Passing & SPMD
Explain the message-passing paradigm and the SPMD (Single Program, Multiple Data) execution model
2
Basic MPI Program Structure
Write basic MPI programs using MPI_Init, MPI_Finalize, MPI_Comm_rank, and MPI_Comm_size
3
Point-to-Point Communication with Blocking Send/Recv
Implement point-to-point communication using blocking MPI_Send and MPI_Recv
4
Overlap Communication and Computation with MPI Non-Blocking Calls
Use non-blocking communication (MPI_Isend, MPI_Irecv, MPI_Wait) to overlap communication with computation
5
MPI Broadcast and Reduction Operations
Implement one-to-all broadcast (MPI_Bcast) and all-to-one reduction (MPI_Reduce) operations
6
Distributing and Collecting Data with MPI_Scatter and MPI_Gather
Distribute and collect data arrays using MPI_Scatter and MPI_Gather
7
Parallel Matrix-Vector Multiplication with MPI Collectives
Implement parallel matrix-vector multiplication using MPI collectives
8
Optimizing Communication Overhead
Model communication overhead and apply strategies like message aggregation to minimize it
Previous module
Shared-Memory Parallelism with OpenMP
Next module
Massively Parallel Programming with CUDA