University of Heidelberg

Introduction to GPU Accelerated Computing WS 2019/2020 Block Course with Exercises

NEWS: Block Course, February 10-13, 2020;
Begin: Monday, February 10, 10:15;
Time: Monday - Thursday, 10-17 (CIP Pool INF 227, KIP 1.401)

You may use your personal laptop in the course (only ssh terminal window needed, no other software) or the terminals of the CIP pool. Our course does NOT really use the computers in the CIP pool (only ssh terminal connection, and optionally some simple graphics, plots with lines or dots, which you can make on your laptop, on the CIP computer, or on the kepler system itself, as you find it convenient). Your personal laptop, with a wireless connection to the university network or to "eduroam" will be enough to participate (our numerical experiments are done on the kepler GPU cluster of ARI/ZAH).

Files: Starting Instructions for Exercises (Feb. 10)
Slides of lecture February 10, 2020
Slides of lecture February 11, 2020
Slides of lecture February 12, 2020
NBODY6++ Lecture Slides of Feb 13, 2020
NBODY6++ Our Experiments Description Feb 13, 2020

XX Lecture Slides Jason Sanders complete
XX NVIDIA Slides on User API's
XX On the Histogram Programs
XX Wenmei Hwu Lecture

Additional supplementary informations:
User Handbook kepler cluster
NBODY6++ Technical Manual
NOTE: The ftp link given in this manual is dead. It is now
https://github.com/nbodyx/ .
XX : These files are password protected, the password has been provided in the 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.
Enrolment: Please use this link: https://uebungen.physik.uni-heidelberg.de/v/1044
Lecturer: Prof. Rainer Spurzem; ZAH/ARI, Mönchhofstr. 12-14, 69120 Heidelberg
Email: spurzem@ari.uni-heidelberg.de
Teaching Assistants: Katja Reichert katja.reichert@uni-heidelberg.de
Matteo Mazzarini mazzarini@uni-heidelberg.de
and Rainer Spurzem spurzem@ari.uni-heidelberg.de ; we will assist in the afternoon hands-on sessions, help with problems and answer questions.
Time and Place: Monday - Thursday, February 10-13, 2019; Lecture: 10:15 - 13:00 Uhr, Exercises: 14:15 - 17:00; both lecture and exercises will take place in: CIP Pool Im Neuenheimer Feld 227, KIP 1.401
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. See for example this conference with current research been done: GPU 2016 Rome . 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, but will cover much less details; on the other hand we will learn about some astrophysical application, which is not in the book.


(Responsible for contents: Rainer Spurzem )
Contact: D. Möricke
to top of page