This course provides a solid foundation in parallel computer architectures, parallel programming models, application performance monitoring & optimization techniques. This course will discuss fundamentals of parallel systems covering topics ranging from what an HPC cluster consists of to how to efficiently solve complex large scale problems in the areas of computational fluid dynamics, image processing, machine learning and analytics on these systems. Students will explore shared and distributed-memory parallel programming model based solutions to different applications.
Bachelor of Computer Science - 132 CRs
Gerassimos Barlas, “Multicore and GPU Programming: An Integrated Approach“, 2nd Edition, Elsevier, 2022.
Robert Robey and Yuliana Zamora, ”Parallel and High Performance Computing”, Manning, 2021.
content serial | Description |
---|
1 | Course outline and syllabus discussion |
2 | High performance computing basics |
3 | Multicore and parallel program design (1/2) |
4 | Multicore and parallel program design (2/2) |
5 | Threads and Concurrency |
6 | Parallel Data Structures |
7 | Distributed Memory Programming (1/3) |
8 | Distributed Memory Programming (2/3) |
9 | Distributed Memory Programming (3/3) |
10 | GPU Programming (1/3) |
11 | GPU Programming (2/3) |
12 | GPU Programming (3/3) |
13 | Shared Memory Programming |
14 | HPC case studies |
15 | HPC case studies |
Start your application