Aarhus University Seal / Aarhus Universitets segl

An introduction to CUDA (2019)

ECTS credits:
3-5 depending on the project load in agreement with supervisor.

Course parameters:
Language: Danish/English
Level of course: Master / PhD course
Time of year: Fall semester 2019
No. of contact hours/hours in total incl. preparation, assignment(s) or the like: 2 contact hours a week, and 4-8 hours of assignments

Objectives of the course:
The course provides an introduction to how GPUs can be utilized in scientific computing to provide up to orders of magnitude performance increase. Specifically, we exploit the C/C++ based CUDA language to have a soft transition from CPU to GPU based programming. The content will present the primary concepts required for writing massively parallel GPU programs with a focus on ”learning by doing” through problem-solving. It will be an opportunity to learn how to fully or partially incorporate parallelization through GPUs into one’s own projects, which should seem like a much less daunting task by the end.  

Learning outcomes and competences:
At the end of the course, the student should be able to:

  • Write a simple CUDA Kernel to address a GPU device.
  • Structure CUDA code to utilize the hardware and architecture of specific GPU’s.
  • Solve massively parallel problems using CUDA.
  • Rewrite C/C++ programs to CUDA.
  • Determine the most suitable GPU to solve a certain problem

Compulsory programme:

  • Active participation
  • Assignments

Course contents:
After getting started with your own Nvidia GPU or an external one (provided by CSCAA at Aarhus), we cover basic CUDA coding and performance considerations but will also extend into more advanced topics and finally into a project chosen by the participant, which could be to implement CUDA in existing personal programs.

Prerequisites:
Experience with C/C++ programming

Name of lecturers:

  • Christian Flohr Nielsen
  • Jonas Lynge Olesen

Type of course/teaching methods:

  • Weekly programming assignments
  • Weekly short lecture followed by in-class review of problem solutions

Literature:
Course and online materials will be made available.

Course homepage:
None

Course assessment:
Assignments

Provider:
Department of Physics and Astronomy, Aarhus University

Special comments on this course:
None

Time:
Fall semester 2019

Place:
Department of Physics and Astronomy, Aarhus University

Registration:
Register by sending an email to christianfn@phys.au.dk

Deadline for registration: 12 August 2019

16020 / i43