Topic #1: Basics of distributed memory programming

Overview

This topic introduces basic but essential concepts for distributed-memory programming (Single-Program Multiple-Data (SPMD) programming style, the use of process rank to distribute work among processes, local vs. global indices for 1-D and 2-D data distribution of arrays, simple message-passing to coordinate processes). The focus is mostly on correctness, and only a tiny bit on performance.

Available hands-on modules