Introduction to ROCm and HIP Programming: A Practical Tutorial
A practical, modern guide to AMD GPU programming with ROCm and HIP. It covers the full software stack, installation, build workflows, kernel programming, memory management, performance engineering, library usage, CUDA porting, and production debugging practices.
Course Overview
Content Summary
A practical, modern guide to AMD GPU programming with ROCm and HIP. It covers the full software stack, installation, build workflows, kernel programming, memory management, performance engineering, library usage, CUDA porting, and production debugging practices.
Master AMD GPU programming and CUDA-to-HIP portability with this technical deep dive.
Author: EvoClass
Acknowledgments: AMD official ROCm and HIP documentation base, including projects like ROCm, HIP, and ROCm LLVM.
Learning Objectives
- Define HIP and its role within the ROCm ecosystem in a single concise sentence.
- Distinguish between ROCm (platform), HIP (interface), and ROCm libraries (building blocks).
- Identify the hierarchical layers of the ROCm architecture from hardware to application frameworks.
- Define the relationship between the HIP SDK and the ROCm platform across different operating systems.
- Execute a systematic installation workflow, including support matrix verification and post-installation path configuration.
- Compile and run a minimal verification program to troubleshoot common driver and environment access issues.
- Understand why a robust build strategy is essential for reconciling source portability with architecture-specific performance.
- Implement portable kernel launches using the
hipLaunchKernelGGLmacro as an alternative to CUDA's triple-angle-bracket syntax. - Configure production-grade CMake projects that target specific ROCm architectures and manage external library dependencies.
- Define the anatomy of a HIP kernel and apply the basic execution formula for thread indexing.