TDDD56 Multicore and GPU programmingInformation page for the CPU and GPU lab work and lessons |
|
Lab SeriesPlease register for the labs via webreg by friday 9/11/2025. Webreg will be opened at course start. Presence in lab sessions is mandatory. Lab deadlines
CPU-labs (Labs 1, 2, 3): last CPU lab session of your group, 26/28 nov 2025 (soft deadline),
17 (A) / 18 (B) dec 2025 (hard deadline) |
|
Slides and general infoSlides of lesson 1. (last updated 2023-11-03) Slides of lesson 2. (last updated 2024-11-29) |
|
Getting started with tools used in laboratories |
|
Lab0: Introduction to C and the pthread API
Lab 0 is mandatory only for students who have not taken a course
in concurrent programming and operating systems
(or need to brush up C/thread programming skills).
|
|
Lab work |
|
Lab1: The Mandelbrot set and load balancingParallelize a generator of visual representation of the Mandelbrot set, fractals, observe load-balancing issues and implement a solution to them. [source files] (Last updated 2018-11-12, no changes for 2023) [instructions] (Last updated 2020-11-10) |
|
Lab2: Non-blocking stack (To be replaced for 2025)Implement and measure the performance of a non-blocking, Treiber stack [source files] (Last updated 2018-11-16, no changes for 2023) [instructions] (Last updated 2020-11-18) |
|
Lab3: High-level parallel programmingTry out high-level parallel programming with the data-parallel SkePU skeleton programming framework. Use the skeletons to implement image filters, including a median blur filter.[source files] (Last updated 2024-11-18) [instructions] (Last updated 2020-11-25) [SkePU user guide] (2021) [slides] (2024) |
|
Lab 4: CUDA 1Lab material (from ISY) |
|
Lab 5: CUDA 2Lab material (from ISY) |
|
Lab 6: OpenCLLab material (from ISY) |
Page responsible: Christoph W Kessler
Last updated: 2025-10-30
