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.
| 29.9.2025 | CPU and system architectures | slides | |
| labs dismissed | |||
| 6.10.2025 | CPU and system architectures | slides | |
| Refresher on C++ and parallel programming | lab practice | ||
| 13.10.2025 | Memory models, atomic operations, lock-free programming | slides | |
| Home assignment 1 - lock-free data structure | assignment | ||
| 20.10.2025 | CUDA Introduction | slides | |
| CUDA Introduction | lab practice | ||
| 27.10.2025 | CUDA SIMT/lock-step execution and special instructions | slides | |
| CUDA Labs - Histogram (Episode I - Phantom Menace) | assignment details | ||
| 3.11.2025 | CUDA memory model | slides | |
| CUDA Labs - Histogram (Episode II - Attack of the Clones) | assignment details | ||
| 10.11.2025 | CUDA work offloading and heterogeneous applications | slides | |
| CUDA Labs - Histogram (Episode III - Revenge of the T.A.) | assignment details | ||
| 17.11.2025 | lecture and labs dismissed (national holiday) | ||
| 24.11.2025 | Dynamic parallelism, CUDA 3D interoperability, CUDA libs | slides | |
| CUDA Labs - Code profiling, Mandelbrot case study | Mandelbrot | ||
| 1.12.2025 | MPI - Introduction | slides | |
| MPI Labs - Intro | lab practice | ||
| 8.12.2025 | MPI - Advanced topics (collective communication) | slides | |
| labs dismissed | |||
| 15.12.2025 | MPI - Advanced topics (finalizing) | slides (cont.) | |
| MPI Labs - Collective communication and assignment specification | lab practice, assignment details | ||
| 5.1.2026 | Final assignment: k-medoids | assignment | |
| labs dismissed |