Parallel architectures, Parallel algorithm design, Shared memory programming,
Message passing programming, Combining MPI and Open MP, Debugging
MPI programs, Floyd's algorithm, Performance analysis, Matrix-vector
multiplication, Matrix multiplication, Finite difference methods, Sorting,
Combinatorial search, External memory sorting, Heterogeneous architectures,
Load balancing.