Introduction to GPU Accelerated Computing
Winter Semester 25/26 Block Course with Practical Exercises
| NEWS: |
Update: Feb. 3, 2026:
Morning lecture starts Feb. 9-13, Mon-Fri 10:15 - 13:00, CET (UTC+1); the course is fully hybrid - in person: please come to PC-Pool Kirchhoff Institute for Physics, Im Neuenheimer Feld 227 (KIP INF227) Room 1.401; online zoom participation: zoom coordinates will be published by tomorrow here and in rocket chat:
Link to Rocket Chat WS-25-GPU-Course . Those attending in person: you may use your own laptop. Terminals for use are also available in the PC-Pool and in the afternoon for Group 1. Distribution of participants to tutorial groups (afternoon) will be done in the first morning session on Monday, so do not miss it please. Later, all material will be put online here, but lecture and tutorial. Hands-on exercises will be also offered in person and online zoom in the afternoons (except Friday). A homework task will be prepared during the lecture and should be finished in the week following the lecture (more time for the homework may be given on request). |
| Informations: |
Link to heiCO registration:
Link to heiCO course entry.
Link to "uebungen" registration: https://uebungen.physik.uni-heidelberg.de/v/2097 Notice: heiCO registration is essential to receive "passed" certificate (official registration) and 2 ECTS points. "uebungen" registration is important for our internal management of tutorial groups and for our internal communication via rocket chat. Both should be done. Block Course, February 9-13, 2026; Begin: Monday, Feb. 9, 10:15; End: Friday Feb. 13, 13:00 Schedule: Morning Lecture, Mon-Fri 10:15-13:00; Afternoon Hands-on Exercise: Mon - Thu 14:15-17:00; Fri: none Lunch Break: daily 13:00-14:15
You may use your personal laptop or one of the desktops in the CIP pools; the online tutorial can only be done using a laptop. In any case in the course we have to connect to a GPU supercomputer. Please prepare to use ssh, do you know how to do this? Under Linux it is quite easy, but under Windows you may have to install a putty client (see also https://www.wikihow.com/Use-SSH and https://putty.org/ ). |
| Files: |
Lecture pdf files for download:
Will appear here during the course.
Start Instructions for Lecture and Tutorials (Feb. 09, 2026) Links to presentation slides of morning lectures: Monday morning (Feb. 09, 2026) Tuesday morning (Feb. 10, 2026) Wednesday morning (Feb. 11, 2026) Nbody instructions V2 updated Thursday (17:19, Feb. 12, 2026) Nbody code tar package Friday morning (Feb. 13, 2026) About Histogram Program (Feb. 13, 2026) Links to zoom recordings of morning lectures (all files protected with the same password as Jason Sanders Lecture Slides below). Monday Feb 09 first part ; Monday Feb 09 afternoon ; Tuesday Feb 10 ; Wednesday Feb 11 Thursday Feb 12 Friday Feb 13 Links to Whiteboard Sketches: Will appear here during the course. Mon, Feb. 09, Tue Feb. 10, Wed Feb. 11, Fri Feb. 13 ; During the first days the lecture will closely follow a lecture of Jason Sanders: XX Lecture Slides Jason Sanders complete XX : The file is protected; access data can be found in the rocket chat or before it opens via personal email request. In CUDA by Example (Book by Jason Sanders) the lecture material of the first days is explained in depth. The course will go beyond the book in the last days. For successful participation in the course it is NOT necessary to buy or borrow the book. All materials needed will be distributed in the course; the book provides useful additional material only. Wenmei Hwu Lecture 1: Computational Thinking is a more general lecture on parallel computing and computational thinking; it goes much beyond what is covered in our course:
|
| Summary: | We will learn the basic technique to use GPU (graphical processing units, graphics cards) for numerical accelerated computing at the example of CUDA - an extension of C. The course is inspired by Jason Sanders Lecture, but not identical to it. We will discuss briefly the alternative HIP language to program GPUs, but only theoretically (no practical exercises). |
| Lecturer: |
Prof. Rainer Spurzem;
ZAH/ARI, Mönchhofstr. 12-14, 69120 Heidelberg Email: spurzem@ari.uni-heidelberg.de |
| Tutors: |
Afternoon hands on sessions (exercises) in tutorial groups with tutors (14:15-17:00) in:
Kirchhoff-Inst. for Physics (KIP), Im Neuenheimer Feld 227, CIP Pool 1.401, seminarrooms 2.402 and 2.403; and in one online zoom group. Group 1: Navonil Saha navonil.saha@uni-heidelberg.de Group 2: Cagri Erciyes hi185@uni-heidelberg.de |
| Time and Place: | Lecture: Monday - Friday, February 9-13, 2026: 10:15 - 13:00; Exercises: Monday - Thursday, February 9-12, 2026: 14:15 - 17:00; (no exercises Fri afternoon!) |
| Requirements: | Basic knowledge of a higher programming language such as C, C++,
Fortran or similar
|
| Topic: | This is a five day block course with lectures in the morning and practical hands-on
exercises in the afternoon.
We will learn the basic technique to use GPU (graphical processing units,
graphics cards) for numerical accelerated computing at the example of CUDA - an extension of
the C programming language, which is used for the NVIDIA GPU accelerated supercomputer to be used
in our course. More general approaches for other systems will be discussed.
Concepts of parallel programming are introduced. GPU accelerated
parallel computing is a technique, which is now widely used in computational physics and astrophysics.
Many supercomputers of EuroHPC Petascale systems use GPU. Topics: Parallel Computing, GPU Hardware, Elements of CUDA Language, Data Transfer, Vector and Matrix Operations, Simple Application for N-Body Problem. |
| Pass: | To pass the course (it is NOT graded): proof of daily hands-on exercises under your account, homework assignment submitted (you may form a team of two persons to work together, and submit results together, but not more than two , please!). |
| Literature: |
CUDA by Example, of Jason Sanders and Edward Kandrot . Our course is inspired by this book
and lectures of the authors, will cover much less details, but go for some topics beyond the content of
the book; also we will learn an example astrophysical application.
|
(Responsible for contents: Rainer Spurzem )
