Introduction to Programming on the GPU with CUDA

  • When Oct 03, 2016 09:00 AM to Oct 04, 2016 05:00 PM (Europe/Amsterdam / UTC200)
  • Where EEMCS building, Feldmannweg 3, Delft
  • Add event to calendar iCal

The Graphics Processing Unit or GPU is nowadays a mainstream component in Scientific Computing. For relatively little money one can have supercomputer performance. However, some extra work has to be done to make an ordinary sequential program suitable for use on the GPU.
One of the most important tools for using GPUs is currently "CUDA" (Compute Unified Device Architecture). This is basically an extension to the C programming language, which can be used to program the GPU in an easy way. Another tool is OpenCL, but this is less mature than CUDA and performs less on especially the newest GPUs, the focus will be currently on CUDA.

 

Course goal: In this 2-day course we will explain the basic principles of GPU programming and let you practise with many examples on several types of GPUs in our lab room. After this course you should be able to make simple CUDA programs which can be run on a GPU.

 

Preliminaries: We recommend having a (rudimentary) understanding of a C-like programming language, such as C++, Java or similar. Fortran or Python should be fine as well. Interest in iterative solvers can be helpful.

 

Teachers: Prof.dr.ir. Kees Vuik, Ir. Kees Lemmens and Dr. Matthias Möller.

 

Costs: For members of DCSE this course is free, TU Delft staff and students pay € 50,- for a single day and  €100,- for the full 2 days course. For other participants the costs are resp. € 200,- for 1 day and  €350,- for 2 days. This is mainly to cover expenses for the lunch and the course material.

 

Location: EEMCS building, Feldmannweg 3, Delft. In the morning the lectures are given in Dijkstra Room, LB.09.150 (day 1) & Lecture hall J (day 2) . The Lab sessions are in the Laboratory Room HB 05.150 on floor 5.

 

 

Schedule Day 1:

 

09:15

-

09:30

Arrival with coffee and tea

09:30

-

10:30

Parallel computing on GPU’s Prof.dr.ir. C. Vuik

10:45

-

11:30

GPU’s design and architecture Ir. C.W.J. Lemmens

11:45

-

12:30

CUDA introduction Ir. C.W.J. Lemmens

12:45

-

13:30

Lunch

13:30

-

14:45

Using CuBlas, CuFFT Ir. C.W.J. Lemmens

15:00

-

17:00

Debugging and Profiling Ir. C.W.J. Lemmens

 

Schedule Day 2:

 

09:15

-

09:30

Arrival with coffee and tea

09:30

-

10:30

Paralution Prof.dr.ir. C. Vuik

10:45

-

11:30

Parallel solvers on GPUs Dr. Matthias Möller

11:45

-

12:30

Shared memory, streams, atomics Ir. C.W.J. Lemmens

12:45

-

13:30

Lunch

13:30

-

14:45

Optimising code: Innerproduct Ir. C.W.J. Lemmens

15:00

-

16:30

Unified memory, Dynamic Parallelism  Ir. C.W.J. Lemmens

16:30

-

17:00

Solvers on GPU Dr. Matthias Möller

Notes: The number of participants is restricted to 18. This course is given roughly every quarter.

Register: In order to attend this course please register at https://www.aanmelder.nl/gpucourse_october_2016

 

More info: http://www.cse.tudelft.nl.
Email contact: C.W.J.Lemmens@tudelft.nl or D.M.Dongor@tudelft.nl