You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See ROCm/ROCm#2817 for a more detailed description and motivation.
It would be greatly beneficial for developer productivity and distro packagers' convenience if we can introduce a wrapper executable to launch the Clang executable. This will allow us to cache HIP compilations to massively speed up builds that have very few code changes, similar to how ccache and sccache can cache C/C++ and Rust builds. For example, when specifying sccache as the wrapper, instead of executing $ROCM_PATH/llvm/bin/clang --offload-arch=..., sccache $ROCM_PATH/llvm/bin/clang --offload-arch=... is executed. CMake's HIP support can already do the equivalent using the environment variable CMAKE_HIP_COMPILER_LAUNCHER.
The way I propose this feature be implemented is to introduce the environment variable HIP_CLANG_LAUNCHER, which is analogous the CMake variable CMAKE_HIP_COMPILER_LAUNCHER. A PR implementing this feature can be found at ROCm/HIPCC#148. This feature is used to package the entire ROCm stack for Solus Linux, so it has been pretty thoroughly tested.
This feature by itself is not very useful, but is very powerful when combined with compiler wrappers that cache compilations. After HIP support in sccache is implemented this will allow us to cache HIP compilations. Please see ROCm/ROCm#2817 for more details on this.
Operating System
No response
GPU
No response
ROCm Component
HIPCC
The text was updated successfully, but these errors were encountered:
Suggestion Description
See ROCm/ROCm#2817 for a more detailed description and motivation.
It would be greatly beneficial for developer productivity and distro packagers' convenience if we can introduce a wrapper executable to launch the Clang executable. This will allow us to cache HIP compilations to massively speed up builds that have very few code changes, similar to how
ccache
andsccache
can cache C/C++ and Rust builds. For example, when specifyingsccache
as the wrapper, instead of executing$ROCM_PATH/llvm/bin/clang --offload-arch=...
,sccache $ROCM_PATH/llvm/bin/clang --offload-arch=...
is executed. CMake's HIP support can already do the equivalent using the environment variableCMAKE_HIP_COMPILER_LAUNCHER
.The way I propose this feature be implemented is to introduce the environment variable
HIP_CLANG_LAUNCHER
, which is analogous the CMake variableCMAKE_HIP_COMPILER_LAUNCHER
. A PR implementing this feature can be found at ROCm/HIPCC#148. This feature is used to package the entire ROCm stack for Solus Linux, so it has been pretty thoroughly tested.This feature by itself is not very useful, but is very powerful when combined with compiler wrappers that cache compilations. After HIP support in
sccache
is implemented this will allow us to cache HIP compilations. Please see ROCm/ROCm#2817 for more details on this.Operating System
No response
GPU
No response
ROCm Component
HIPCC
The text was updated successfully, but these errors were encountered: