TDDD56 Multicore and GPU Programming
Timetable and Lecture Plan
Schedule (as available on the LiU schedule server)
Certain lecture notes and other handouts with restricted access
are located here.
The lecture notes and other material may be updated during the course as appropriate.
Christoph Kessler (CK), Ingemar Ragnemalm (IR).
Assistants: Nicolas Melot (NM), Lu Li (LL), Ingemar Ragnemalm (IR)
Those lectures marked below in blue color overlap largely with similar lectures in TDDC78 Programming of Parallel Computers - Methods and Tools. These lectures are optional for those who have already taken TDDC78, but might be a useful repetition anyway.The following list of lecture topics and lessons is preliminary.
- Lecture 1:
Motivation: The Multicore Challenge. Multicore Architecture Concepts. (CK)
- Lecture 2:
Parallel Programming with Threads and Tasks. (CK)
- Lesson 1:
Introduction to CPU laboratory work. (NM)
Shared memory architecture concepts and performance issues. (CK)
- Lecture 4:
Non-blocking synchronization. (CK)
- Lecture 5:
Theory: Parallel programming and cost models. Analysis of parallel algorithms.
Theory (cont.): Speedup anomalies. Amdahl's Law. Fundamental parallel algorithms: parallel prefix sums, parallel list ranking. (CK)
Parallel sorting algorithms: Simple parallel quicksort. (CK)
- Lecture 7:
Parallel sorting algorithms (cont.): Samplesort, Fully parallel quicksort, Bitonic sort, Parallel Mergesort. (CK)
- Lecture 8:
Parallelization of sequential programs. (CK)
- Lesson 2:
Selected CPU/theory exercises. (NM)
Please solve suggested exercises in advance to be prepared. Use to the following important definitions summary as a reminder of the necessary background.
- Lecture 9:
GPU architecture and trends (IR)
- Lecture 10:
Introduction to CUDA programming. (IR)
- Lecture 11:
CUDA programming. GPU lab introduction. (IR)
- Lecture 12:
Sorting on GPU. Advanced CUDA issues. (IR)
Guest lecture about FFT on CUDA by Dr. Mario Garrido, ISY.
- Lecture 13:
Introduction to OpenCL. (IR)
- Lesson 3:
OpenCL. Shader programming.
Selected exercises. (IR)
- Lecture 15:
Parallel Design Patterns and Skeleton Programming. (CK)
- Lecture 16:
Guest lecture by Dr. Ola Dahl, ENEA, on Linux from a Multicore perspective - and some words about virtualization.
Parallel Sorting Contest Awards.
Wrap-up of the course
We have three lab groups, see the schedule.
- Group_A (32 students, room Southfork, supervised by Nicolas Melot and Lu Li)
- Group_B (16 students, room IDA-Multicore Lab, supervised by Lu Li and Ingemar Ragnemalm)
- Group_C (16 students, room IDA-Multicore Lab, supervised by Nicolas Melot and Lu Li)
- ISY Southfork (Group A)
- IDA Multicore Lab ("Konrad Zuse") (B 327:197) (Groups B, C)
Presence in the lab sessions is mandatory.
Deadlinessee the lab page.
Page responsible: Christoph W Kessler
Last updated: 2014-01-07