Fundamentals of Accelerated Computing with OpenACC

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.

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

  1. Profile and optimize your CPU-only applications to identify hot spots for acceleration
  2. Use OpenACC directives to GPU-accelerate your codebase
  3. Optimize data movement between the CPU and GPU accelerator

PREREQUISITES

None

SYLLABUS & TOPICS COVERED

  1. Introduction
    • Meet the instructor and create an account
  2. Introduction To Parallel Programming
    • Introduction to parallelism
    • The goals of OpenACC
    • Basic parallelization of code using OpenACC
  3. 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
  4. Introduction To Open ACC Directives
    • The Parallel directive and the Kernels directive
    • The Loop directive
  5. GPU Programming With Open ACC
    • Definition of a GPU
    • Basic OpenACC data management
    • CUDA Unified Memory
    • Profiling GPU applications
  6. 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
  7. 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.

About Instructor

OpenTeams

56 Courses

Not Enrolled
This course is currently closed