|Date:||12.12.2018 9:00 - 14.12.2018 17:00|
|Location details:||The event is organised at the CSC Training Facilities located in the premises of CSC at Keilaranta 14, Espoo, Finland. The best way to reach us is by public transportation; more detailed travel tips are available.|
|Lecturers:|| Jussi Enkovaara (CSC) |
Fredrik Robertsen (CSC)
|The fee covers all materials, lunches as well as morning and afternoon coffees.|
Payment can be made with electronic invoicing, credit card, or direct bank transfer. Note that for electronic invoicing you need the operator and e-invoicing address (OVT code) of your organization. Please also note that invoice reference is needed for electronic invoicing in your organization, so please have this available when registering.
This course gives basic to intermediate level knowledge on CUDA programming. The course first gives a basic introduction to writing GPU applications using CUDA. Building on this more advanced topics are introduced that enable one to write efficient CUDA applications, including asynchronous execution with streams, utilizing Nvidia performance tools and how to write efficient kernels. Finally multi-GPU programming both within a node and between nodes, as well as new CUDA features will be discussed.
Participants should have working knowledge on C programming language and basic knowledge on MPI programming. No prior knowledge on GPGPU programming or CUDA is required.
After the course participants should be able to write simple CUDA programs that utilize multiple GPUs.
- Introduction to GPU programming
- CUDA programming I: programming model & memory model
- Nvidia tools for performance analysis and debugging
- CUDA programming II: further topics on basic CUDA programming
- Cuda programming III: Streams and asynchronous execution
- Cuda programming IV: Optimizing kernel performance
- Advanced CUDA features I: Unified memory and Lambdas
- Advanced CUDA features II: cooperative groups
- Multi-GPU programming