Simplifying ROCm compiler upgrades
Hi folks,
I just pushed rocm-llvm 7.0.1+dfsg-1 to unstable. It includes
rocm-device-libs-21 we can start building packages using clang++-21.
There is, unfortunately, a circular dependency between src:rocm-llvm and
src:rocr-runtime. The src:rocm-llvm package B-D on the
libhsa-runtime-dev package produced by src:rocr-runtime, and
the src:rocr-runtime package B-D on the rocm-device-libs-21 package
produced by src:rocm-llvm. It's fine for now, because we have
src:rocr-runtime 6.1.2-3 on unstable and we can build src:rocm-llvm
7.0.1+dfsg-1 with that version, but we need to break this circle.
Here is my plan for updating src:rocm-llvm and the rocm-device-libs over
the next few weeks. I will be making the following changes to the
package naming and organization:
1. Move rocm-device-libs out of src:rocm-llvm and into its own source
package. I intend to mirror the style of the LLVM packages by having a
corresponding source package and binary package for each version of LLVM.
2. Rename hipcc to hipcc-21 in src:rocm-llvm
3. Rename rocm-device-libs-21 to amd-device-libs-21
4. Introduce src:rocm-llvm-defaults with a hipcc metapackage that
depends on hipcc-21 and an amd-device-libs metapackage that depends on
amd-device-libs-21 (in the style of src:llvm-defaults)
5. Propose src:llvm-toolchain-rocm with the full AMD LLVM fork (i.e.,
amdclang++). It would provide hipcc-rocm, amd-device-libs-rocm,
clang-rocm, etc. If we decide to switch to it, we can update
src:rocm-llvm-defaults to make the change.
We need to rename rocm-device-libs-N if we want to provide a defaults
package without the suffix because we already used the plain
rocm-device-libs name in Debian Bookworm for a binary package that was
specific to clang-15. The device libraries are found in CMake via
find_package(AMDDeviceLibs) so the "amd-device-libs" package name seems
like a reasonable choice. Alternatively, we could decide that we could
reuse the rocm-device-libs name as clang-15 was "the current ROCm
compiler" in Debian Bookworm and it's therefore fine to replace it with
a package for the current ROCm compiler in Debian Forky.
Sincerely,
Cory Bloor
Reply to: