PATC: Introduction to CUDA Programming

Date: 16/Apr/2018 Time: 09:00 - 20/Apr/2018 Time: 18:00

Place:

The course will take place in the UPC Campus Nord premises.

C6 Building. Room E106

Target group: The target audiences of the course are students who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors.

Primary tabs

Day 1 (April, 16)

09:00 – 10:45 The GPU hardware: Many-core Nvidia developments

10:45 – 11:15 Coffee break

11:15 – 13:00 CUDA Programming: Threads, blocks, kernels, grids

13:00 – 14:00 Lunch break

14:00 – 15:45 CUDA Tools: Compiling, debugging, profiling, occupancy calculator

15:45 – 16:15 Coffee break

16:15 - 18:00 CUDA Examples (1): VectorAdd, Stencil, ReverseArray

18:00 Adjourn

 

Day 2 (April, 17)

09:00 – 10:45 CUDA Examples (2): Matrices Multiply. Assorted optimizations

10:45 – 11:15 Coffee break

11:15 – 13:00 Inside Kepler and Maxwell: Dynamic parallelism, Hyper-Q, unified memory 

13:00 – 14:00 Lunch break

14:00 – 15:45 Hands-on Lab

15:45 – 16:15 Coffee break

16:15 – 18:00 Hands-on Lab

18:00 Adjourn

 

Day 3 (April, 18)

09:00 – 10:45 Inside Pascal and Volta: Stacked memory, NV-link, tensor cores

10:45 – 11:15 Coffee break

11:15 – 13:00 OpenACC and other approaches to GPU computing. Bibliography 

13:00 – 14:00 Lunch break

14:00 – 15:45 Hands-on Lab

15:45 – 16:15 Coffee break

16:15 – 18:00 Hands-on Lab

18:00 Adjourn

 

Day 4 (April, 19)

09:00 – 10:45 Atomics and Histogramming

10:45 – 11:15 Coffee break

11:15 – 13:00 Reduction operators

13:00 – 14:00 Lunch break

14:00 – 15:45 Hands-on Lab

15:45 – 16:15 Coffee break

16:15 – 18:00 Hands-on Lab

18:00 Adjourn

 

Day 5 (April, 20)

09:00 – 10:45  Hands-on Lab

10:45 – 11:15 Coffee break

11:15 – 13:00 Hands-on Lab

13:00 Adjourn

 

 

End of Course

 

MU: Manuel Ujaldón (Full Professor of Computer Architecture and former Nvidia CUDA Fellow)