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
CUDA Labs - Histogram (Episode III - Revenge of the T.A.)
17.11.2025 lecture and labs dismissed (national holiday)
24.11.2025 Dynamic parallelism, CUDA 3D interoperability, CUDA libs
CUDA Labs - Mandelbrot
1.12.2025 MPI - Introduction
MPI Labs - Intro
8.12.2025 MPI - Advanced topics (collective communication)
MPI Labs - Collective communication
15.12.2025 MPI - Advanced topics (finalizing)
MPI assignment specification (labs merged with lecture)
5.1.2026 Final assignment: k-medoids
labs dismissed