Review Matvec Program
Last time we introduced functions to perform data gathering and scattering
MPI_Gather collects m units of data from all P processes in the collective and stores the data in process rank order on the root process
MPI_Scatter splits m*P units of data into P packets of m units and send the first m units to process 0 in the collective, the next m to process 1, …, the last m to process P-1
Context: panel or block-row distributed matrix-vector product routine