2. W. Gropp, E. Lusk and A. Skjellum, Using MPI, Portable Parallel Programming with the Message-Passing Interface, The MIT Press, Cambridge MA, 1994.
3. Peter Pacheco, Parallel Programming with MPI, Morgan Kaufmann Publishers, 1997.
4. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. Dongarra, MPI The Complete Reference, The MIT Press, Cambridge MA, 1996.
Fundamentals: Introduction to parallel and distributed computing, models of parallel computers, parallel programming models.
Design methodology for parallel algorithms.
Basic communication operations; introduction to MPI.
Performance evalutation of parallel systems: Performance metrics, execution time, speedup, efficiency, cost, scalability, isoefficiency and cost effectiveness.
Sorting algorithms: Sorting on parallel computers, sorting networks, bubble sort, quick sort and other sorting algorithms.
Graph algorithms: Definitions and representation, minimum spanning tree, single source shortest paths, all pairs shortest paths, transitive closure, connected components, algorithms for sparse graphs.
Dense matrix algorithms: Mapping matrices on processors, matrix transposition, matrix vector multiplication, matrix multiplication, solving systems of linear equations.
[INSTRUCTOR] [HOURS] [PREREQUISITES] [OBJECTIVES] [REQUIREMENTS] [GRADING] [ANNOUNCEMENTS] [OUTLINE]