Lecture 3 hours; 3 credits.
Prerequisite: CS 270, CS 361.
Fundamental concepts of
parallel computing: machine models, architectures,
programming languages, paradigms for parallel
algorithm design, and realizations of
parallel programs using the architecture-independent
MPI (Message Passing Interface) communication library.
Basic communication operations. Scaled-speedup.
Cost-optimal algorithms.
Elementary algorithms such as reduction
and parallel prefix. Matrix multiplication. Solution of
linear systems of equations. Sorting. Graph algorithms.