# Teaching guide

##### Experimental html version of downloadable textbook, see http://www.tacc.utexas.edu/~eijkhout/istc/istc.html
$\newcommand\inv{^{-1}}\newcommand\invt{^{-t}} \newcommand\bbP{\mathbb{P}} \newcommand\bbR{\mathbb{R}} \newcommand\defined{ \mathrel{\lower 5pt \hbox{{\equiv\atop\mathrm{\scriptstyle D}}}}}$ Back to Table of Contents

# 53 Teaching guide

Based on two lectures per week, here is an outline of how MPI can be taught in a college course. Links to to the relevant exercises.

 \toprule Topic Exercises Week \midrule \multicolumn{2}{l}{\kern 1in\relax Block 1: SPMD and collectives} \midrule Intro: cluster structure hello : 2.4 , 2.2.2  Functional parallelism commrank : 2.5 , 2.5 , prime : 2.4 \midrule Allreduce, broadcast 3.1 , randommax : 3.2.1  jordan : 3.3.3 \midrule Scan, Gather 3.4 , scangather : 3.2 , 3.5  \cline{1-2} \multicolumn{2}{l}{\kern 1in\relax Block 2: Two-sided point-to-point} \cline{1-2} Send and receive pingpong : 4.1.1.2 , rightsend : 4.4 \midrule Sendrecv bucketblock : 4.1.3 , sendrecv : 4.6 , 4.7  Nonblocking isendirecv : 4.2.2.2 , isendirecvarray : 4.2.2.2 \cline{2-3} bucketpipenonblock : 4.2.2.1.2  \cline{1-2} \multicolumn{2}{l}{\kern 1in\relax Block 3: Derived datatypes} \cline{1-2} Contiguous, Vector, Indexed stridesend : 6.5 , cubegather : 6.3.4 \midrule Extent and resizing \midrule \multicolumn{2}{l}{\kern 1in\relax Block 4: Communicators} \midrule Duplication, split procgrid : 7.4.1 , 7.4.1  Groups \midrule \multicolumn{2}{l}{\kern 1in\relax Block 5: I/O} \midrule File open, write, views blockwrite:~ 10.1 , viewwrite~ 10.2  \cline{1-2} \multicolumn{2}{l}{\kern 1in\relax Block 6: Neighborhood collectives} \cline{1-2} Neighbor allgather rightgraph:~ 11.2 \bottomrule
Back to Table of Contents