Introduction to GPU Accelerated Computing WS 2020/2021 Block Course with Exercises
NEWS: |
All registered participants are accepted, we have three groups now, see names of tutors below.
Full ONLINE Block Course, March 1-5, 2021; Begin: Monday, March 1, 10:15; End: Friday, March 5, 13:00; Time: Monday - Thursday 10-17, Friday 10-13 The Course will be organized via zoom ; access links will be emailed shortly before the first lecture. Your personal laptop or desktop should be used in the course to connect to our GPU supercomputer (kepler cluster of ARI/ZAH). 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/ ). Your own laptop or desktop is needed for zoom, for ssh terminal connections, and for some data analysis; all numerical experiments will be done on the kepler cluster (if you prefer, data analysis can also be done there).
|
Files: |
Starting Instructions for Lecture and Tutorials (Mar. 1) XX CUDA Error Check Routine, see RocketChat XX Lecture Slides Jason Sanders complete XX On the Histogram Programs (a chapter of Jason Sanders' book) Slides of lecture: March 1 , March 2 , March 3 , March 4 (NBODY) , March 5 Lecture Whiteboard Collection of Figures NBODY6++ Experiment: Description March 4, 2021 XX Zoom Recordings 2021, mp4: 360 MB Morning March 1 , 86 MB Afternoon March 1 354 MB Morning March 2 , 102 MB Afternoon March 2 293 MB Morning March 3 , 50 MB Afternoon March 3 401 MB Morning March 4 , 371 MB Afternoon March 4 146 MB Morning March 5 More informations on CUDA profiling and streams, JSC/NVIDIA XX NVIDIA Slides on User API's (Notice: the file linked before is outdated; more recent informations can be found: https://docs.nvidia.com/ and https://docs.nvidia.com/cuda-libraries/ XX Wenmei Hwu Lecture
Additional supplementary informations: |
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. |
Enrolment: | Please use this link: https://uebungen.physik.uni-heidelberg.de/v/1194 |
Lecturer: |
Prof. Rainer Spurzem;
ZAH/ARI, Mönchhofstr. 12-14, 69120 Heidelberg Email: spurzem@ari.uni-heidelberg.de |
Teaching Assistants: |
Katja Stock katja.stock@uni-heidelberg.de Peter Lysakowski peter.lysakovski@uni-heidelberg.de Albrecht Kamlah albrechtk@hotmail.de and also the lecturer Rainer Spurzem spurzem@ari.uni-heidelberg.de we will help in the afternoon hands-on sessions for problems and answer questions. |
Time and Place: | Lecture: Monday - Friday, March 1-5, 2021: 10:15 - 13:00; Exercises: Monday - Thursday, March 1-4, 2021: 14:15 - 17:00; (no exercises Fri afternoon!) both lecture and exercises will be organized online via zoom |
Requirements: | Basic knowledge of a higher programming language such as C, C++,
Fortran or similar
|
Topic: | 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. Also some general ideas of parallel programming will be discussed. GPU accelerated parallel computing is a technique used in many areas of computational physics and astrophysics. After the basic introduction one or two application examples will be presented. This is a four day block course with lectures in the morning and practical hands-on exercises in the afternoon. Topics: Parallel Computing, GPU Hardware, Elements of CUDA Language, Data Transfer, Vector and Matrix Operations, Simple Application for N-Body Problem. |
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 )