Programming Models @ BSC

Boosting parallel computing research since 1989

Introduction to CUDA Programming

- Written by Xavier Teruel


Venue: Barcelona, SPAIN
Event date: April 18-21, 2017
Speaker: Manuel Ujaldon
 
CONTENTS
 
The aim of this course is to provide students with knowledge and hands-on experience in developing applications software for processors with massively parallel computing resources. In general, we refer to a processor as massively parallel if it has the ability to complete more than 64 arithmetic operations per clock cycle. Many commercial offerings from NVIDIA, AMD, and Intel already offer such levels of concurrency. Effectively programming these processors will require in-depth knowledge about parallel programming principles, as well as the parallelism models, communication models, and resource limitations of these processors.
 
AGENDA
 
Day 1 (April 18th)
09:00 The GPU hardware: Many-core Nvidia developments
10:45 Coffee break
11:15 CUDA Programming: Threads, blocks, kernels, grids
13:00 Lunch break
14:00 CUDA Tools: Compiling, debugging, profiling, occupancy calculator
15:45 Coffee break
16:15 CUDA Examples(1): VectorAdd, Stencil,
18:00 Adjourn
 
Day 2 (April 19th)
09:00 CUDA Examples(2): Matrices Multiply. Assorted optimizations
10:45 Coffee break
11:15 CUDA Examples(3): Dynamic parallelism, Hyper-Q, unified memory
13:00 Lunch break
14:00 Hands-on Lab 1
15:45 Coffee break
16:15 Hands-on Lab 2
18:00 Adjourn
 
Day 3 (April 20th)
09:00 Inside Pascal: Multiprocessors, stacked memory, NV-link
10:45 Coffee break
11:15 OpenACC and other approaches to GPU computing
13:00 Lunch break
14:00 Hands-on Lab 3
15:45 Coffee break
16:15 Hands-on Lab 4
18:00 Adjourn
 
Day 4 (April 21st)
09:00 Hands-on Lab 5
10:45 Coffee break
11:15 Hands-on Lab 6
13:00 Lunch break
14:00 Hands-on Lab 7
15:45 Coffee break
16:15 Free Hands-on Lab
18:00 Adjourn
 
MORE INFO
 
https://www.bsc.es/education/training/patc-courses/introduction-cuda-programming