High Performance Computing: Programming GPU using Open ACC Prerequisites
Tue 22 May - Wed 23 May 2018
Description
This course aims to provide a basic knowledge of GPU programming using OpenACC directives. The course is very hands-on oriented, aiming to give to you the opportunity to practice and experiment from the very beginning.
Target audience
- All current Cambridge University members (departments and colleges)
- Especially University alumni (PhD) and researchers who already have access to HPCS computing facilities
- Further details regarding eligibility criteria are available
Prerequisites
- It is mandatory to have knowledge of C or FORTRAN similar to Fortran: Introduction to Modern Fortran
- Knowledge of the Unix environment similar to the Unix: Introduction to the Command Line Interface (Self-paced)
- No specific knowledge of CUDA is needed (but appreciated)
Sessions
Number of sessions: 2
# | Date | Time | Venue | Trainer | |
---|---|---|---|---|---|
1 | Tue 22 May 2018 09:00 - 12:30 | 09:00 - 12:30 | Phoenix Teaching Room 1, New Museums Site | map | Filippo Spiga |
2 | Wed 23 May 2018 09:00 - 12:30 | 09:00 - 12:30 | Phoenix Teaching Room 1, New Museums Site | map | Filippo Spiga |
Topics covered
- General introduction about accelerated computing
- APOD: Assess, Parallelize, Optimize, Deploy
- OpenACC basic syntax:
- parallel loop directive
- define data regions
- data clause
- kernel construct
- reduction clause
- Managing parallelism: gang, worker, vector
- Understand compiler output
- Mapping OpenACC to CUDA
- Optimization techniques:
- kernel fusion
- async & wait clauses
- pipelining
- advanced data layouts
Format
- Presentations and practicals
Taught using
- OpenACC (PGI compiler installed on HPCS systems) and PuTTY on MCS Windows
Notes
- HPCS users will have the opportunity to perform experiments directly to Wilkes
- Participants are encouraged to bring their own scientific applications and discuss with the trainers about parallelization strategies and opportunities
Duration
- Two sessions of half a day each
Related courses
- High Performance Computing: An Introduction
- Unix: Building, Installing and Running Software
- Unix: Introduction to the Command Line Interface (Self-paced)
- Unix: Simple Shell Scripting for Scientists
Themes
Booking / availability