Detailed Course Outline
Introduction
- Meet the instructor.
 - Create an account at courses.nvidia.com/join
 
Introduction to Parallel Programming
- Learn about parallelism in a conceptual way, as well as how to express it with OpenACC. Topics that will be covered are as follows:
- Introduction to parallelism
 - The goals of OpenACC
 - Basic parallelization of code using OpenACC
 
 
Profiling with OpenACC
- Learn how to build and compile an OpenACC code, the importance of profiling, and how to use the NVIDIA Nsight™ Systems profiler. Topics that will be covered are as follows:
- 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 OpenACC Directives
- Learn how to parallelize your code with OpenACC directives and understand the differences between parallel, kernel, and loop directives. Topics that will be covered are as follows:
- The Parallel directive
 - The Kernels directive
 - The Loop directive
 
 
GPU Programming with OpenACC
- Learn about the differences between GPUs and multicore CPUs, and manage memory with CUDA Unified Memory. Topics that will be covered are as follows:
- Definition of a GPU
 - Basic OpenACC data management
 - CUDA Unified Memory
 - Profiling GPU applications
 
 
Data Management with OpenACC
- Learn how to explicitly manage data movement with OpenACC data directives to reduce data transfers. Topics that will be covered are as follows:
- OpenACC data directive/clauses
 - OpenACC structured data region
 - OpenACC unstructured data region
 - OpenACC update directive
 - Data management with C/C++ Structs/Classes
 
 
Loop Optimizations with OpenACC
- Understand the various levels of parallelism on a GPU and learn ways to extract more parallelism with OpenACC by optimizing loops in your code. Topics that will be covered are as follows:
- Seq/Auto clause
 - Independent clause
 - Reduction clause
 - Collapse clause
 - Tile clause
 - Gang, Worker, Vector
 
 
Final Review
- Review key learnings and answer questions.
 - Complete the assessment and earn a certificate.
 - Complete the workshop survey.