Parallel Programming Practice (3:1)
Class
Instructor
Sathish Vadhiyar
Books
- The
Sourcebook of Parallel Computing
by Jack Dongarra (Editor), Ian
Foster, Geoffrey Fox (Editor), Ken Kennedy, Andy White (Editor), Linda
Torczon, Wiliiam Gropp
Publisher: Morgan Kaufmann; (November 2002) ISBN:
1-558-60871-0
- Introduction
to Parallel Computing
by
Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar Publisher:
Addison Wesley; (2003) ISBN: 0-201-64865-2
- Numerical
Linear Algebra for High Performance Computers
by
Jack Dongarra, Iain Duff, Danny Sorensen, Henk van der Vorst Publisher:
SIAM; (1998) ISBN: 0-89871-428-1
Syllabus
- Introduction
- Scope of parallel
computing
- Definitions of speedup,
utilization, efficiency, scalability
- Amdahl's law - Parallel
Processing
- Parallel architecture
models , physical organization of parallel platforms
- Parallel programming
paradigms, algorithm models
- Communication costs in
parallel machines
- Principles of parallel
algorithm design - Preliminaries, Decomposition techniques, Data
distribution methods, Mapping techniques for load balancing
- Analytical modeling of
parallel programs - Sources of overhead in
parallel programs, Performance metrics for
parallel programs, Asymptotic analysis of
parallel programs, Other scalability
metrics, Communication costs in
parallel machines
- Programming using the
Message passing paradigm
- Principles of
message-passing programming
- MPI: The Message
Passing Interface
- Point-point,
collectives
- Groups and
communicators
- Process topologies
- Profiling interface
- Collective
communication implementations
- MPI-2 overview
- An extended session on
MPI I/O
- A Few Parallel Programs
- Vibrating string,
Laplace
equation, Molecular dynamics, WaTor
- Programming shared address
space platforms
- Thread basics
- OpenMP: A standard for
directive based parallel programming
- Linear algebra
- Matrix-vector
multiplication
- Matrix-matrix
multiplication
- Solving a system of
linear equations
- Brief look at BLAS,
LAPACK, ScaLAPACK
- Iterative methods for
linear systems - Parallel conjugate
gradient
- Parallel
preconditioning
- Eigenvalue problems -
parallel aspects
- Sparse solutions
- Sparse matrix direct methods
- Multifrontal methods
- Iterative methods
- Templates and linear
algebra
- Advanced Topics
- Load balancing and
scheduling
- FFT
- Checkpointing
- Benchmarks
- Others
Assignments
-
Fundamental Concepts, point-point
benchmarking, collective communication implementations
-
Parallel Matrix-Matrix multiply
-
Parallel Ordering Using Kernighan-Lin
-
MPI-I/O
Links