Topic #3: Rigid distributed memory programs


This topic focuses on implementation of "rigid" parallel program, i.e., programs in which the data distribution schemes and the communication patterns are regular and static. The learning objectives are similar to those in Topic #1, but on steroids. The focus is mostly on correctness.

Available hands-on modules

Matrix Multiplication (2-D data distribution, implementing the algorithm from scratch)

LU Factorization (1-D data distribution, sequential implementation given as a possible starting point)