CAS762 FUNDAMENTALS OF PARALLEL PROGRAMMING
Objectives:
Introduction-Parallel Programming Paradigms-Parallel Architecture- Case studies -Open MP-features and functions - PRAM Model of Computation
PRAM - Models of Parallel Computation, Complexity - Memory Consistency - Performance Issues - Parallel Program Design - Shared Memory and Message Passing – MPI -features and functions
Parallel programming models - Algorithmic Techniques - Decomposition Techniques - Mapping Techniques for load balancing - Algorithms for Matrix operations, Sorting and Searching.
Lower Bounds Lock Free Synchronization, Load Stealing - Lock Free Synchronization, Graph theoretic parallel algorithms
Case Study: CUDA - CUDA threads – CUDA memories - CUDA performance considerations– CUDA floating point considerations – CUDA applications.
References:
1. M J Quinn, “Parallel Programming in C with MPI and OpenMP”, Tata McGraw-Hill Education, 2003.
2.Ananth Grama, George Karypis, Vipin Kumar and Anshul Gupta, “Introduction to Parallel Computing”, 2nd Edition, Pearson Education, 2003.
3.D. Kirk and W. Hwu, “Programming Massively Parallel Processors”, 2nd Edition, Morgan Kaufmann Publishers, 2010.
Outcomes:
Students will be able to:
Design and develop parallel algorithms.
Analyze the real world problems and implement in parallel environment