01 Concurrent and Parallel Programming
01 Concurrent and Parallel Programming
PARALLEL COMPUTING
Dr. Emmanuel S. Pilli
MNIT Jaipur
condition.
Synchronisation primitives.
Processes and threads. Interprocess
communication.
Livelock and deadlocks, starvation, and
deadlock prevention.
Issues and challenges in concurrent
programming paradigm and current trends.
References
Principles of Concurrent and Distributed
References
Introduction to Parallel Computing by Ananth
Grama, et al (Pearson)
Programming Massively Parallel Processors - A
Hands-on Approach by David B. Kirk (Morgan
Kaufmann)
CUDA Programming by Shane Cook (Morgan
Kaufmann)
Parallel Algorithms by Joseph JaJa (Addison
Wesley)
Heteregeneous Computing with OpenCL by
Benedict Gaster, et al (Morgan Kaufmann)
Approach
Parallel Algorithms
Parallel Programming paradigms
Parallel Architectures
Concurrent Programming
Synchronisation Primitives
Interprocess Communication
Livelock and Deadlocks
OpenMP, OpenCL, Cilk++, CUDA
Heterogeneous Computing
Weightage Theory
Mid Term 1
20
20
Mid Term 2
End Term
Quizzes
Assignments
40
10
10
Weightage Practical
Continuous Evaluation 30
Mid Term 1 (Quiz / Test)
10
Mid Term 2 (Quiz / Test) 10
Schedule
Concurrent Programming
Synchronisation Primitives
Interprocess Communication
Livelock and Deadlocks
Parallel Algorithms
Parallel Programming paradigms
Parallel Architectures
OpenMP, OpenCL, Cilk++, CUDA
Heterogeneous Computing
Problem
More Gophers?
Bottlenecks
Concurrency ?
Eight Parallel?
More Concurrent ?
Full Optimization