2

I am trying to install Python packages, like lietorch or pytorch-scatter with AMD support.

I download the repository,

git clone --recursive https://github.com/repo

If I just try to install the package, I'll get an error, stating

clang: error: cannot find HIP runtime; provide its path via '--rocm-path', or pass '-nogpuinc' to build without HIP runtime

Therefore, I change the extra_compile_args inside setup.py, adding

'-DCMAKE_CXX_FLAGS=--rocm-path=/opt/rocm'

to the nvcc flags.

The flags get passed and is executed by hipcc:

/opt/rocm-6.0.2/bin/hipcc _various_compile_flags_ -DCMAKE_CXX_FLAGS=--rocm-path=/opt/rocm-6.0.2 _even_more_flags_

But it terminates with the error

sh: 1: --rocm-path=/opt/rocm-6.0.2/llvm/bin/clang: not found
sh: 1: --rocm-path=/opt/rocm-6.0.2/llvm/bin/clang: not found
error: command '/opt/rocm-6.0.2/bin/hipcc' failed with exit code 127

Is there anything I can do to get the packages built? Do these packages have insufficient support for AMD and there is nothing I can do? Or is there a grave oversight on my part and an obvious solution?

Some System Information:

GPU:

AMD Radeon RX 6800 XT (gfx1030)

Environment Variables:

ROCM_PATH=/opt/rocm
ROCM_ROOT=/opt/rocm
ROCM_HOME=/opt/rocm-6.0.2
CPATH=/opt/rocm-6.0.2/include:/opt/rocm-6.0.2/include/hip:/opt/rocm-6.0.2/include/rocrand:/opt/rocm-6.0.2/include/hiprand:/opt/rocm-6.0.2/include/roctracer:/opt/rocm-6.0.2/include/hipblas:/opt/rocm-6.0.2/include/hipsparse:/opt/rocm-6.0.2/include/hipfft:/opt/rocm-6.0.2/include/rocsolver
HIP_PATH=/opt/rocm/hip
HCC_HOME=/opt/rocm/hcc
HIP_PLATFORM="amd"
PYTORCH_ROCM_ARCH="gfx1030"
HSA_OVERRIDE_GFX_VERSION=10.3.0
HIP_VISIBLE_DEVICES=0

I tried setting the rocm-path flag as described above and looked for help in github issues and Stack Overflow posts without success. I expect the packages to compile successfully and run on my hardware.

1 Answer 1

1

While searching for an answer I stumbled upon this Clang documentation. It mentions the Order of Precedence for HIP Path:

Order of Precedence for HIP Path

  1. --hip-path compiler option

  2. HIP_PATH environment variable (use with caution)

  3. --rocm-path compiler option

  4. ROCM_PATH environment variable (use with caution)

  5. Default automatic detection (relative to Clang or at the default ROCm installation location)

Including --hip-path=/opt/rocm inside the extra_compile_args let me compile the packages.

Sign up to request clarification or add additional context in comments.

1 Comment

As a side note: while pytorch-scatter compiled without problems, lietorch still has issues with the conversion from CUDA to HIP code and does not run. But this seems secondary to the main question and a problem with lietorch's support for AMD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.