• AMD’s HIP Moves To Using LLVM’s New Offload Driver By Default A change merged to upstream LLVM Git yesterday for LLVM 23 is moving AMD’s HIP to using the new/modern offload driver by default. • This aligns with a prior change for NVIDIA CUDA and already in place for OpenMP offloading too. • LLVM’s “new” offloading driver provides a unified interface to use from single-source languages like NVIDIA CUDA or OpenMP by default and now AMD HIP is using it too by default. • HIP up to now supported the new offloading driver already but only when using the “–offload-new-driver” argument. • This offloading driver provides a unified interface between the different offloading languages, supports linking and compiling redistributable device code, supports static libraries containing device code, supports device-side link-time optimizations (LTO), supports both Windows and Linux, and is compatible with standard builds. • More details on the driver can be found via this 2024 LLVM Discourse post when the proposal was originally made for transitioning NVIDIA CUDA and AMD HIP to using this new driver by default.

Article Summaries:

  • AMD’s HIP framework has been updated to use LLVM’s new offload driver by default with the recent merge into LLVM 23. The change aligns HIP with NVIDIA CUDA and OpenMP, which already employ the modern driver. Previously, HIP required the “–offload-new-driver” flag; the new default eliminates that need while still allowing the legacy mode via “–no-offload-new-driver”. The update introduces a unified interface for offloading, supports device‑side link‑time optimizations, static libraries, and cross‑platform builds. However, the ABI for relocatable device code and libraries will change, necessitating recompilation of existing code.

Sources: