TDDD56 Multicore and GPU Programming
Timetable and Lecture Plan
Schedule
Schedule (as available on the LiU schedule server)
Lecture/Lesson Plan
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.
Lecturers:
Christoph Kessler (CK), Ingemar Ragnemalm (IR), Ola Dahl (OD).
Assistants:
Nicolas Melot (NM), Lu Li (LL), Jens Ogniewski (JO)
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:
Organization, Overview.
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) - Lecture 3:
Shared memory architecture concepts and performance issues. (CK)
- Lecture 4:
Theory: Parallel programming and cost models. Analysis of parallel algorithms. - Lecture 5:
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 6:
Non-blocking synchronization. (CK) - Lecture 7:
Parallel sorting algorithms (cont.): Samplesort, Fully parallel quicksort, Bitonic sort, Parallel Mergesort. (CK) - Lecture 8:
Parallelization of sequential programs. (CK)
Mid-term evaluation. - Lesson 2:
Selected CPU/theory exercises. (NM)
Please solve suggested exercises in advance to be prepared.
- 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) - Lecture 13:
Introduction to OpenCL. (IR) - Lecture 14:
Multicore DSP Architecture and Programming. (OD) - Lesson 3:
OpenCL. Shader programming.
Selected exercises. (IR, JO) - Lecture 15:
Parallel Design Patterns and Skeleton Programming.
Parallel Sorting Contest Awards.
Autotuning. (CK)
Lab schedule
We have three lab groups, see the schedule.
- Group_A (32 students, room Southfork, supervised by Nicolas Melot and Jens Ogniewski)
- 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 Jens Ogniewski)
Lab rooms:
- ISY Southfork (Group A)
- IDA Multicore Lab ("Konrad Zuse") (B 327:197) (Groups B, C)
Presence in the lab sessions is mandatory.
Deadlines
see the lab page.
Page responsible: Christoph W Kessler
Last updated: 2012-12-06
