Description
The ROCm (and to some extend CUDA) alpaka backends add a noticeable amount to the time it takes to build some packages.
For users that do not care about running on (AMD) GPUs, we could speed up the compilation process disabling the ROCm (or CUDA) alpaka backend(s).
Also note that it could be much worse if we manage to add the SYCL/oneAPI backend...
This could be implemented in scram
, with a syntax like
scram b disable-backend {cuda,rocm}
scram b enable-backend {cuda,rocm}
?
An other way to speed up the compilation would be to target only one actual GPU type, like an NVIDIA T4 or an AMD Mi250.
This could be implemented with a syntax like
scram b enable-backend cuda=sm_89
scram b enable-backend rocm=gfx90a
We could also get the hardware type from cudaComputeCapabilities
or rocmComputeCapabilities
with a syntax like
scram b enable-backend cuda=native
scram b enable-backend rocm=native
@smuzaffar do you think this could be implemented in scram ?
If you think so, we can discuss the implementation detail here or in person.