[llvm-branch-commits] [openmp] release/18.x: [OpenMP][OMPT] Fix hsa include when building amdgpu/src/rtl.cpp (PR #95484)

Thomas Debesse via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sat Jun 15 22:25:38 PDT 2024


illwieckz wrote:

I discovered something wrong:

```
ii  libhsa-runtime-dev 5.2.3-5                       amd64        HSA Runtime API and runtime for ROCm - development files
ii  libhsa-runtime64-1 5.2.3-5                       amd64        HSA Runtime API and runtime for ROCm
ii  libhsakmt1:amd64   5.2.3+dfsg-1                  amd64        Thunk library for AMD KFD (shlib)
```

It looks like I have some HSA 5.2.3 files… The `libhsa-runtime-dev` provides `/usr/include/hsa/hsa.h`.

This `libhsa-runtime-dev` package looks to be provided by the system (Ubuntu), but and if I attempt to uninstall it, it attempts to also uninstall `rocm-hip-runtime=6.1.2.60102-119~22.04` and `libdrm-amdgpu-dev`…

So ROCm 6.1.2 actually installs both `/opt/rocm-6.1.2/include/hsa/hsa.h` and 5.2.3 `/usr/include/hsa/hsa.h`, and of course only the first one provides `HSA_AMD_AGENT_INFO_TIMESTAMP_FREQUENCY`…

This doesn't make sense, the ROCm packages may be just badly made by AMD.

So I temporarily remove `/usr/include/hsa` without uninstalling `libhsa-runtime-dev` **AND** using `-DLIBOMPTARGET_FORCE_DLOPEN_LIBHSA=ON`, I can build LLVM18 without patch.

With that option being `-DLIBOMPTARGET_FORCE_DLOPEN_LIBHSA=OFF` CMake complains that `/usr/include/hsa` is missing.

So it looks like I'm tracking a ROCm packaging bug from AMD side. I still don't get why LLVM doesn't use its own HSA by default.

https://github.com/llvm/llvm-project/pull/95484


More information about the llvm-branch-commits mailing list