During my masters course I completed the below two assignments as a course project for CSV 880: Special Module in Parallel Computation.
Averaging based computations on a matrix using block-cyclic distribution.
-
Goal is to write an MPI program to perform the template (averaging) based computations on a matrix
A
specified as follows:The program will read a matrix
A
of sizem x n
comprising of floating point numbers from inpFile. The program should run onp x q
ranks logically arranged as a 2-D grid. The matrix should be distributed on the ranks in a block-cyclic distribution with block sizes x s
. The program will performl
iterations: -
Details: here
Broadcasting on a 2D Torus using a single spanning tree.
-
It performs a broadcast of a 2D Torus using a single spanning tree. The code reports the total packets received by every node and the maximum congestion on any link. In initial version of the code, each node receives 1 packet and congestion=1. Goal was to modify the code to perform the broadcast using 4 non-contending spanning trees. Each node should receive 4 packets, and congestion should remain 1.
-
Details: here