a4lg wrote:

## Background

This is originally submitted as ROCm/llvm-project#739 to the `amd-staging` 
branch.

AMD is experimenting with TheRock, new HIP/ROCm build system and distribution.

With TheRock, we can install full ROCm SDK as Python packages (and multiple 
versions can coexist through `venv`).

To fully utilize TheRock-based toolchain, we normally set the environment 
variable `${ROCM_PATH}` to `$(rocm-sdk --path root)` (`rocm-sdk` is 
TheRock-specific command to prepare/test ROCm SDK) to make sure that external 
programs/libraries can locate TheRock-based ROCm SDK.

One of the problems is: some programs (such as vLLM) don't use `hipcc` but 
instead, attempt to use `$(rocm-sdk path --root)/lib/llvm/bin/clang++` 
directly.  Second, TheRock has slightly different toolchain layout than the 
release versions of ROCm SDK.

| ROCm SDK                 | Device libraries path                  |
| ------------------------ | -------------------------------------- |
| Production Release (7.1) | `${ROCM_PATH}/amdgcn/bitcode`          |
| TheRock (7.9 / Nightly)  | `${ROCM_PATH}/lib/llvm/amdgcn/bitcode` |

Clang does not search the latter by default, causing a compiler error and fails 
to configure the ROCm toolchain on such Clang-dependent programs.

Note that, this error does not occur if `ROCM_PATH` is *not set* because in the 
fallback path, a ROCm installation candidate path equivalent to 
`${ROCM_PATH}/lib/llvm` is generated.  However, it prevents configuring 
ROCm-dependent programs using standard `ROCM_PATH` environment variable.

The workaround below is working yet inconvenient so I hope this issue is 
resolved in either:

1.  TheRock distribution (separate PR required): Change the path of device 
libraries or make links/copies to the same path as the production releases.
2.  LLVM (this PR): Add TheRock search path

## Workaround (without this PR)

With the current state, we can avoid device library issues by:

```sh
export HIP_DEVICE_LIB_PATH=$(rocm-sdk path --root)/lib/llvm/amdgcn/bitcode
```

https://github.com/llvm/llvm-project/pull/170590
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to