AMD HIP Programming Guide
A comprehensive technical manual for the Heterogeneous-compute Interface for Portability (HIP). It provides a C++ Runtime API and kernel language that allows developers to create portable applications for AMD and NVIDIA GPUs from a single source code. The guide covers installation, environment configuration, programming models, memory allocation, and tools for porting CUDA code to HIP.
Course Overview
Content Summary
A comprehensive technical manual for the Heterogeneous-compute Interface for Portability (HIP). It provides a C++ Runtime API and kernel language that allows developers to create portable applications for AMD and NVIDIA GPUs from a single source code. The guide covers installation, environment configuration, programming models, memory allocation, and tools for porting CUDA code to HIP.
Master portable GPU programming: One source for both AMD and NVIDIA platforms.
Author: Advanced Micro Devices, Inc. (AMD)
Acknowledgments: AMD, the AMD Arrow logo, AMD Instinct, Radeon, ROCm and combinations thereof are trademarks of Advanced Micro Devices, Inc. Linux is a registered trademark of Linus Torvalds. PCIe is a registered trademark of PCI-SIG Corporation.
Learning Objectives
- Define the primary features and value propositions of the HIP framework.
- Demonstrate how to access and query the HIP environment using system tools.
- Explain the architectural relationship between HIP portability and its compiler technology.
- Execute platform-specific installations for both NVIDIA and AMD environments.
- Coordinate the multi-repository build process to compile HIP from source code.
- Validate a successful installation using system configuration and verification tools.
- Configure and manage GPU memory using HIP allocation, coherency controls, and zero-copy host memory visibility.
- Develop high-performance kernels using HIP-specific function/variable qualifiers, vector types, and synchronization primitives.
- Implement advanced parallel algorithms utilizing warp shuffle, vote, ballot, and cooperative group functions.
- Automate the translation of CUDA code to HIP using HIPIFY tools and manage in-place project conversions.