Del 07-06-2012 al 08-06-2012


NVIDIA Course: CUDA and OpenACC Hands on Training

NVIDIA CUDA and OpenACC Hands on Training

SeminarioNVIDIA-medium

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