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 5/11. 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, 24/26 nov 2021 (soft deadline),
17 dec 2021 10:00 (hard deadline) |
|
Slides and general infoDownload the slides of lesson 1. (last updated 2021-11-08) Download the slides of lesson 2. (last updated 2021-11-16) |
|
Getting started with tools used in laboratories |
|
Lab0: Introduction to C and the pthread APIA quick introduction by example to C syntax, data type and their use, functions, modules, as well as spawning and waiting for threads. Find another introduction from lab00 of the course "Concurrent programming and Operating Systems" (TDDB68), which include more C-related issues such as pointer management. |
|
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 2021) [instructions] (Last updated 2020-11-10) |
|
Lab2: Non-blocking stackImplement and measure the performance of a non-blocking, Treiber stack [source files] (Last updated 2018-11-16, no changes for 2021) [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 2020-11-25, no changes for 2021) [instructions] (Last updated 2020-11-25) [SkePU user guide] (2020) [slides] (Last updated 2020-11-18) Note: Logs/warnings about CL_TARGET_OPENCL_VERSION or MapSMtoCores undefined can be ignored. |
|
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: 2021-11-17