LEARNING OBJECTIVES
After this course, participants will be able to:
-
Understand GPU architecture and the differences between GPU and CPU
- Streaming architecture
- Thread blocks
-
Implement the OpenACC and OpenMP Offloading programming models
- Compute constructs
- Loop constructs
- Data clauses
- Hybrid programming
-
Implement the HIP programming model
- Programming structure
- Device calls (thread block organization)
- Host calls
- Hybrid programming
-
Efficiently handle memory management
- Host-to-device transfers
- Unified memory
-
Apply OpenACC, OpenMP, and HIP Offloading programming knowledge to accelerate examples from science and engineering
- Iterative solvers in science and engineering
- Computational linear algebra (vector multiplication, vector addition, matrix operations, etc.)