Del
07-06-2012
al
08-06-2012
NVIDIA Course: CUDA and OpenACC Hands on Training
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:
Galería de imágenes