Introduction to GPU Accelerated Computing
Winter Semester 24/25 Block Course with Practical Exercises
NEWS: |
Last update: Jan. 25, 2025:
New room allocation for morning lecture 10:15 - 13:00: Mon, Tue Phil12 kHS (small lecture hall); Wed-Fri KIP INF 227 HS2 (Lecture Hall 2). These lecture rooms are sufficiently large to admit ALL registered participants. Please bring your laptop. 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). |
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.
Links to presentation slides of morning lectures: Will appear here during the course. Links to zoom recordings of morning lectures: Will appear here during the course. Links to Whiteboard Sketches: Will appear here during the course. 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:
Kirchoff-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: Philip Cho philip.cho@stud.uni-heidelberg.de Group 3: Vahid Amiri vahid.amiri@uni-heidelberg.de Group 4: Yash Mohan Sharma sharma@mpia.de It will be decided in due course which groups are in person or online via zoom. |
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. |
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