Tillämpad GPU-programmering
Logga in till din kurswebb
Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.
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