我正在尝试安装具有 AMD 支持的 Python 软件包,例如 lietorch 或 pytorch-scatter。
我下载了存储库,
git clone --recursive https://github.com/repo
如果我只是尝试安装该软件包,我会收到一个错误,指出
clang:错误:找不到 HIP 运行时;通过“--rocm-path”提供其路径,或传递“-nogpuinc”以在没有 HIP 运行时的情况下构建
因此,我更改了
extra_compile_args
里面的setup.py
,添加了
'-DCMAKE_CXX_FLAGS=--rocm-path=/opt/rocm'
致 NVCC 旗帜。
标志被传递并由 hipcc 执行:
/opt/rocm-6.0.2/bin/hipcc _various_compile_flags_ -DCMAKE_CXX_FLAGS=--rocm-path=/opt/rocm-6.0.2 _even_more_flags_
但它因错误而终止
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
我可以做些什么来构建软件包吗?难道这些软件包对AMD的支持不够,我无能为力吗?还是我有严重的疏忽和明显的解决方案?
一些系统信息:
GPU:
AMD Radeon RX 6800 XT (gfx1030)
环境变量:
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
我尝试按照上述方式设置 rocm-path 标志,并在 github 问题和 Stack Overflow 帖子中寻求帮助,但没有成功。 我希望这些包能够成功编译并在我的硬件上运行。
在寻找答案时,我偶然发现了这个Clang 文档。 它提到了HIP 路径的优先顺序:
HIP 路径的优先顺序
编译器选项--hip-path
环境变量(谨慎使用)HIP_PATH
编译器选项--rocm-path
环境变量(谨慎使用)ROCM_PATH
默认自动检测(相对于 Clang 或默认 ROCm 安装位置)
将
--hip-path=/opt/rocm
包含在 extra_compile_args
中让我编译软件包。