Introduction to GPU Accelerated Computing
Winter Semester 24/25 Block Course with Practical Exercises
NEWS: |
Last update: Feb. 19, 2025:
Morning lecture Mon-Fri 10:15 - 13:00 takes place in: PC-Pool Kirchhoff Institute for Physics, Im Neuenheimer Feld 227 (KIP INF227) Room 1.401; online zoom participation is possible (zoom coordinates published in rocket chat: Rocket Chat WS-24-GPU-Course ). Please bring your laptop. A limited number of terminals is available in the PC-Pool and in the afternoon for Group 1. The course will be held in person, online zoom participation possible. 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: https://heico.uni-heidelberg.de/heiCO/.../351473
Link to "uebungen" registration: https://uebungen.physik.uni-heidelberg.de/v/1554 Notice: heiCO registration is essential to receive "passed" certificate (official registration). "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 17-21, 2025; Begin: Monday, Feb. 17, 10:15; End: Friday Feb. 21, 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 will have to use your personal laptop; 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. 15, 2025) Links to presentation slides of morning lectures: Feb. 17 ; Feb. 18 ; Feb. 19 ; Feb. 21 ; Description of CUDA histograms (8_histo) from Jason Sanders Book (Feb. 21, password protected) Nbody Lecture (Feb. 20) ; Special informations to run NBODY exercise (Notice: Last Update Feb. 20 22:22) ; Links to zoom recordings of morning lectures (password protected see rocket chat, same as Jason Sanders lecture); : Feb. 17 (~145 MB) ; Feb. 18 (~154 MB) ; Feb. 19 (~143 MB) ; Feb. 20 (~139 MB) ; Feb. 21 (~200 MB) ; Star Cluster Simulation (Video by Vahid Amiri, ~2.2 MB) ; Links to Whiteboard Sketches: Tue Feb. 18, Wed Feb. 19, Thu Feb. 20, Fri Feb. 21 ; 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. 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: Vahid Amiri vahid.amiri@uni-heidelberg.de in person PC-Pool KIP INF227 1.401 Group 2: Yash Mohan Sharma yash.sharma@stud.uni-heidelberg.de in person SR KIP INF227 2.402 Group 3: Navonil Saha navonil.saha@uni-heidelberg.de in person SR KIP INF227 2.403 Group 4: Philip Cho philip.cho@stud.uni-heidelberg.de online zoom, link in Rocket Chat . |
Time and Place: | Lecture: Monday - Friday, February 12-16, 2024: 10:15 - 13:00; Exercises: Monday - Thursday, February 12-16, 2024: 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 )
Contact: Webmaster