Parallel Programming (3:1)
The objective of this course is to give you some level of
confidence in parallel programming techniques, algorithms and tools. At the end of the course, you would (we
hope) be in a position to deal with real-life parallel problems and to
explore new avenues of research in the area of parallel programming.
Class
- Govind AN
- Karthik
- Pratiti Bhadra
- Avinash Bhat
- Avinash Dash
- Mritunjay Kumar
- Sufal Chandra Swar
Instructor
Sathish Vadhiyar
Reading Materials
- Introduction
to Parallel Computing
by
Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar Publisher:
Addison Wesley; (2003) ISBN: 0-201-64865-2
- Various publication materials, lecture slides
Additional Reading
- Petascale
Computing: Algorithms and Applications
David A. Bader (Ed.), Chapman & Hall/CRC Computational Science Series. 2007.
- 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
-
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
- Motivations for parallel
programming
- Challenges
- Metrics - speedup,
utilization, efficiency, scalability
- Amdahl's law and
Gustaffson's law
- Parallel architecture
models , physical organization of parallel platforms
- Parallel programming
paradigms, algorithm models
- Communication network
topology in
parallel machines
- Programming using the Message
passing paradigm MPI
- MPI basics
- Collective
communication implementations
- MPI-2 overview
- An extended session on
MPI I/O
- A Few Parallel Programs
- Vibrating string,
Laplace
equation, Molecular dynamics, WaTor
- Parallel Dense Linear algebra
- Gaussian elimination
and others
- Parallel Sparse Linear algebra
- Sparse Linear Algebra -
basics and sequential solutions
- parallel steps for
ordering, symbolic factorization, numerical factorization, triangular
solve
- Parallel Kernighan-Lin,
Nested dissection
- sparse iterative
methods
- parallel graph coloring
- Programming shared address
space platforms
- OpenMP: A standard for
directive based parallel programming
- Other Topics
- GPU programming
- Scheduling in Parallel
Systems
Assignments
-
Assignment 1 - Pi and Collectives
-
Assignment 2 - Matrix
Multiplication
-
Assignment 3 - Sparse Triangular
solve
Links