Till KTH:s startsida Till KTH:s startsida

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:

  1. GPU architecture: what GPUs are good for? Comparison with CPUs. 
  2. CUDA - Basic Concepts: data movement and allocation on GPUs, kernel launching, CUDA grids, synchronization
  3. CUDA Advanced Concepts: CUDA shared memory, stream, asynchronous copy, profiling
  4. 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

Lärare