8 hours of instruction
Find out how to write and configure code parallelization with OpenACC, optimize memory movements between the CPU and GPU accelerator, and apply the techniques to accelerate a CPU-only Laplace Heat Equation to achieve performance gains.
OBJECTIVES
- Profile and optimize your CPU-only applications to identify hot spots for acceleration
- Use OpenACC directives to GPU-accelerate your codebase
- Optimize data movement between the CPU and GPU accelerator
PREREQUISITES
None
SYLLABUS & TOPICS COVERED
- Introduction
- Meet the instructor and create an account
- Introduction To Parallel Programming
- Introduction to parallelism
- The goals of OpenACC
- Basic parallelization of code using OpenACC
- Profiling With Open ACC
- Compiling sequential and OpenACC code
- The importance of code profiling
- Profiling sequential and OpenACC multicore code
- Technical introduction to the code used in introductory modules
- Introduction To Open ACC Directives
- The Parallel directive and the Kernels directive
- The Loop directive
- GPU Programming With Open ACC
- Definition of a GPU
- Basic OpenACC data management
- CUDA Unified Memory
- Profiling GPU applications
- Data Management With Open ACC
- OpenACC data directive/clauses and structured data region
- OpenACC unstructured data region and update directive
- Data management with C/C++ Structs/Classes
- Loop Optimizations With Open ACC
- Seq/Auto clause, Independent clause, Reduction clause, Collapse clause, Tile clause
- Gang, Worker, Vector
SOFTWARE REQUIREMENTS
Each participant will be provided with dedicated access to a fully configured, GPU-accelerated workstation in the cloud.
Login
Accessing this course requires a login. Please enter your credentials below!