NVIDIA Course: CUDA and OpenACC Hands on Training
Inicio 07-06-2012
Fin 08-06-2012

NVIDIA CUDA and OpenACC Hands on Training
This course is offered by NVIDIA by invitation. The course starts after the free NVIDIA seminar on Thursday 7th.
Dates:
- Thursday 7th June 2012 (from 2.30 pm to 5.30 pm)
- Friday 8th June 2012 (from 9.00 pm to 5.30 pm)
Agenda:
DAY ONE: (from 2.30 pm to 5.30 pm)
14:30-16:00 Introduction to CUDA programming model
- GPU architecture basics
- Simple CUDA program example
- Key principles
- Introduction to the concept of threads & blocks
- The memory hierarchy
16:00-16:15 Coffee Break
16:15-17:30 Hands-on on writing 2 simple applications with CUDA C (fill-in templates, with walkthrough in the end)
DAY TWO: (from 9.30 AM to 5.00/5.30 PM)
09:30-10:30 Porting applications for NVIDIA GPUs with OpenACC
- Introduction to CUDA and OpenACC directive approach
- OpenACC programming model, execution model, memory model
- The advantages of OpenACC in comparison with CUDA C/Fortran
- OpenACC directive syntax
- Main directives: parallel, kernels, loop, data and combinations; examples
10:30-10:45 Coffee Break
10:45-12:30 Porting applications for NVIDIA GPUs with OpenACC
- Other directives: host_data, cache, update, wait, declare; examples
- Runtime library routines
- Environment and conditional compilation
- Jacobi iterative method with OpenACC. Step-by-step optimization
- Example of using OpenACC in real applications: WRF numerical model
- Exercises with profiling and performance analysis
- Constraints
- Interoperability with CUDA libraries
12:30-13.30 Lunch Break
13:30-15:00 OpenACC hands-on
1) Compare OpenACC vs. CUDA C/Fortran:
- Implement the vector addition kernel in CUDA C or CUDA Fortran with the given template.
- Add OpenACC directives into existing serial implementation, build and execute the program (C directives).
- Compare the complexity and performance of two vector addition implementations above.
- Compare the CUDA Fortran Jacobi with OpenACC Jacobi implementation (Fortran directives).
2) OpenACC – step-by-step optimization study:
- Add proper directives
- Analyze compiler feedback
- Optimize for performance
15:00-15:15 Coffee Break
15:15-17:00 OpenACC hands-on (continued)
Lugar / Place:
Escuela Politécnica Superior
Universidad Autónoma de Madrid (UAM)
Francisco Tomás y Valiente, 11
28049 MADRID
Here you can find information about how to reach EPS-UAM (Spanish and English).
You can find an informal list of accommodations (here)
Fotos del evento
A continuación mostramos algunas fotos del evento: