[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: