AMD Research presented a webinar titled, “Introduction to AMD GPU programming with HIP” on June 7th. HIP is a C++ runtime API that allows developers to write portable code to run on AMD and NVIDIA GPUs. It is an interface that uses the underlying Radeon Open Compute (ROCm) or CUDA platform that is installed on a system. The API is similar to CUDA so porting existing codes from CUDA to HIP should be fairly straightforward in most cases. In addition, HIP provides porting tools which can be used to help port CUDA codes to the HIP layer, with no overhead compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and this webinar included guidance on the manual coding and performance tuning work needed to complete the port.
Key features include:
- HIP is a thin layer and has little or no performance impact over coding directly in CUDA.
- HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more.
- The “hipify” tools automatically converts source from CUDA to HIP.
- Developers can specialize for the platform (CUDA or HIP) to tune for performance or handle tricky cases.
Please see “Presentation Materials” below for links to the video, presentation slides, and Q&A from the event.