Applied GPU Programming
Log in to your course web
You are not logged in KTH, so we cannot customize the content.
DD2360 - Applied GPU Programming

Course Goal
This course provides a broad introduction to GPU programming with an emphasis on scientific application development for GPUs.
Course Organization
The course is divided into four modules:
- GPU architecture: what GPUs are good for? Comparison with CPUs.
- CUDA - Basic Concepts: data movement and allocation on GPUs, kernel launching, CUDA grids, synchronization
- CUDA Advanced Concepts: CUDA shared memory, stream, asynchronous copy, profiling
- Introduction to Programming GPUs with OpenCL
The course will possibly also discuss additional selected topics posting papers and links (CUDA libraries or new features or other frameworks, such as OpenACC, for GPU programming.)
Prerequisites
- Basic knowledge of C or C++, compiling codes, and Linux commands (Lab workstations/supercomputer)
- We have one compulsory non-graded quiz to self-assess your knowledge of such topics
- Basic knowledge of computer architecture, e.g. as presented in DD2358 - Introduction to High-Performance Computing
Course Activities
Pre-recorded video lectures
- Zoom lab/tutorial sessions
- 4 Assignments with bonus exercises
- Workshops
- Final project