NPRG058: Advanced Programming in Parallel Environment

Lectures and Labs

Attached slides and other materials will be updated shortly before the corresponding lecture/labs. Make sure you have up-to-date version.

30.9.2024 CPU and system architectures slides
labs dismissed
7.10.2024 CPU and system architectures slides
Refresher on C++ and parallel programming lab practice
14.10.2024 Memory models, atomic operations, lock-free programming slides
Home assignment 1 - lock-free data structure assignment
21.10.2024 CUDA Introduction slides
CUDA Introduction lab practice
28.10.2024 lecture and labs dismissed (national holiday)
4.11.2024 CUDA SIMT/lock-step execution and special instructions slides
CUDA Labs - Histogram (Episode I - Phantom Menace) assignment details
11.11.2024 CUDA memory model slides
CUDA Labs - Histogram (Episode II - Attack of the Clones) assignment details
18.11.2024 CUDA work offloading and heterogeneous applications slides
CUDA Labs - Histogram (Episode III - Revenge of the T.A.) assignment details
25.11.2024 Dynamic parallelism, CUDA 3D interoperability, CUDA libs slides
CUDA Labs - Mandelbrot lab practice
2.12.2024 MPI - Introduction slides
MPI Labs - Intro lab practice
9.12.2024 MPI - Advanced topics (collective communication) slides
MPI Labs - Collective communication lab practice
16.12.2024 MPI - Advanced topics (finalizing) slides (cont.)
MPI assignment specification (labs merged with lecture) assignment details
6.1.2025 Final assignment: k-medoids assignment
labs dismissed