University of Heidelberg

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

NEWS: Block Course, February 11-14, 2019;
Begin: Monday, February 11, 10:15-17:00 (Room R106 Phil12);
Tuesday - Thursday, February 12 - 14, 10:15-17:00 (CIP Pool Phys. Inst. PI INF 226, 1st floor South Side)

Please bring your personal laptop (most important for the first day, only ssh terminal window needed, no other software). For the other days both - the terminals of the CIP pool or your personal laptop can be used. 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).

Last Message of Thursday, Feb. 14, 2019: The student's queues are reserved until end of next week, Feb. 23. You can return your homework any time until then; if you need more time it is no problem, just let me know please by email.

Files (recent, and some of last semester as indicated): Intuitive Matrix Multiplication CUDA Program (Francesco)
No sync Scalar Product (Francesco)
Starting Instructions for Exercises (Feb. 12)
Slides of complete lecture February 11-13, 2019
NBODY6++ Lecture Slides of Feb 14, 2019
NBODY6++ Our Experiments Description Feb 14, 2019

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

Additional supplementary informations:
User Handbook kepler cluster
NBODY6++ Technical Manual
XX : These files are password protected, you will get the password after registration on request.

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/949
Lecturer: Prof. Rainer Spurzem; ZAH/ARI, Mönchhofstr. 12-14, 69120 Heidelberg
Email: spurzem@ari.uni-heidelberg.de
Tutors: Francesco Rizzuto rizzutof93@gmail.com , Albrecht Kamlah albrechtk@hotmail.de , and Rainer Spurzem spurzem@ari.uni-heidelberg.de , will assist in the afternoon hands-on sessions.
Time and Place: Monday - Thursday, February 11-14, 2019; Lecture: 10:15 - 13:00 Uhr, Exercises: 14:15 - 17:00; Day 1 (Monday): Phil12 Room R106; Day 2-4 (Tue-Thu): CIP Pool Phys. Inst. PI INF 226, 1st floor South Side
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