x
This commit is contained in:
+26
-23
@@ -161,36 +161,39 @@ RUN set -ex && \
|
||||
mkdir -p /opt/rocm/lib/cmake/hipblas && \
|
||||
printf 'include(/opt/rocm/lib/cmake/rocblas/rocblas-config.cmake)\nif(TARGET roc::rocblas AND NOT TARGET hip::hipblas)\n add_library(hip::hipblas ALIAS roc::rocblas)\nendif()\n' \
|
||||
> /opt/rocm/lib/cmake/hipblas/hipblas-config.cmake && \
|
||||
# 批量创建 hip→roc 别名 cmake config(缺则创建,覆盖 vllm LoadHIP.cmake 所有 REQUIRED 检查)
|
||||
# 批量创建 hip→roc 别名 cmake config(强制覆盖,防止残留破损 config)
|
||||
for pair in "hipcub:rocprim" "hipsolver:rocsolver" "hipsparse:rocsparse" "hipfft:rocfft"; do \
|
||||
hip_pkg="${pair%%:*}"; roc_pkg="${pair#*:}"; \
|
||||
cfg_dir="/opt/rocm/lib/cmake/${hip_pkg}"; \
|
||||
if [ ! -f "${cfg_dir}/${hip_pkg}-config.cmake" ]; then \
|
||||
mkdir -p "${cfg_dir}" && \
|
||||
printf 'include(/opt/rocm/lib/cmake/%s/%s-config.cmake)\nif(TARGET roc::%s AND NOT TARGET hip::%s)\n add_library(hip::%s ALIAS roc::%s)\nendif()\n' \
|
||||
"${roc_pkg}" "${roc_pkg}" "${roc_pkg}" "${hip_pkg}" "${hip_pkg}" "${roc_pkg}" \
|
||||
> "${cfg_dir}/${hip_pkg}-config.cmake" && \
|
||||
echo "${hip_pkg}-config.cmake created (alias to ${roc_pkg})."; \
|
||||
fi; \
|
||||
mkdir -p "${cfg_dir}" && \
|
||||
printf 'include(/opt/rocm/lib/cmake/%s/%s-config.cmake)\nif(TARGET roc::%s AND NOT TARGET hip::%s)\n add_library(hip::%s ALIAS roc::%s)\nendif()\n' \
|
||||
"${roc_pkg}" "${roc_pkg}" "${roc_pkg}" "${hip_pkg}" "${hip_pkg}" "${roc_pkg}" \
|
||||
> "${cfg_dir}/${hip_pkg}-config.cmake" && \
|
||||
echo "${hip_pkg}-config.cmake created (alias to ${roc_pkg})."; \
|
||||
done && \
|
||||
# 无 roc 对应物的 hip 包,创建 minimal cmake config
|
||||
# 无 roc 对应物的 hip 包,创建 minimal cmake config(强制覆盖)
|
||||
for pkg in hipblaslt hiprtc; do \
|
||||
cfg_dir="/opt/rocm/lib/cmake/${pkg}"; \
|
||||
if [ ! -f "${cfg_dir}/${pkg}-config.cmake" ]; then \
|
||||
mkdir -p "${cfg_dir}" && \
|
||||
printf 'set(%s_FOUND TRUE)\nset(%s_VERSION "7.2.1")\nif(NOT TARGET hip::%s)\n add_library(hip::%s INTERFACE IMPORTED)\n set_target_properties(hip::%s PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/opt/rocm/include")\nendif()\n' \
|
||||
"${pkg}" "${pkg}" "${pkg}" "${pkg}" "${pkg}" \
|
||||
> "${cfg_dir}/${pkg}-config.cmake" && \
|
||||
echo "${pkg}-config.cmake created (minimal)."; \
|
||||
fi; \
|
||||
mkdir -p "${cfg_dir}" && \
|
||||
printf 'set(%s_FOUND TRUE)\nset(%s_VERSION "7.2.1")\nif(NOT TARGET hip::%s)\n add_library(hip::%s INTERFACE IMPORTED)\n set_target_properties(hip::%s PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/opt/rocm/include")\nendif()\n' \
|
||||
"${pkg}" "${pkg}" "${pkg}" "${pkg}" "${pkg}" \
|
||||
> "${cfg_dir}/${pkg}-config.cmake" && \
|
||||
echo "${pkg}-config.cmake created (minimal)."; \
|
||||
done && \
|
||||
# amd_comgr minimal config
|
||||
if [ ! -f /opt/rocm/lib/cmake/amd_comgr/amd_comgr-config.cmake ]; then \
|
||||
mkdir -p /opt/rocm/lib/cmake/amd_comgr && \
|
||||
printf 'set(amd_comgr_FOUND TRUE)\nset(amd_comgr_VERSION "2.8.0")\nif(NOT TARGET amd_comgr)\n add_library(amd_comgr INTERFACE IMPORTED)\n set_target_properties(amd_comgr PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/opt/rocm/include")\nendif()\n' \
|
||||
> /opt/rocm/lib/cmake/amd_comgr/amd_comgr-config.cmake && \
|
||||
echo "amd_comgr-config.cmake created (minimal)."; \
|
||||
fi && \
|
||||
# miopen minimal config(强制覆盖,miopen-hip 可能不带 cmake config)
|
||||
mkdir -p /opt/rocm/lib/cmake/miopen && \
|
||||
printf 'set(miopen_FOUND TRUE)\nset(miopen_VERSION "3.4.0")\nif(NOT TARGET miopen)\n add_library(miopen INTERFACE IMPORTED)\n set_target_properties(miopen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/opt/rocm/include")\nendif()\n' \
|
||||
> /opt/rocm/lib/cmake/miopen/miopen-config.cmake && \
|
||||
echo "miopen-config.cmake created (minimal)." && \
|
||||
# amd_comgr minimal config(强制覆盖)
|
||||
mkdir -p /opt/rocm/lib/cmake/amd_comgr && \
|
||||
printf 'set(amd_comgr_FOUND TRUE)\nset(amd_comgr_VERSION "2.8.0")\nif(NOT TARGET amd_comgr)\n add_library(amd_comgr INTERFACE IMPORTED)\n set_target_properties(amd_comgr PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/opt/rocm/include")\nendif()\n' \
|
||||
> /opt/rocm/lib/cmake/amd_comgr/amd_comgr-config.cmake && \
|
||||
echo "amd_comgr-config.cmake created (minimal)." && \
|
||||
# 诊断:打印 LoadHIP.cmake 第 179 行附近内容
|
||||
echo "=== LoadHIP.cmake line 170-190 ===" && \
|
||||
sed -n '170,190p' ${VENV}/lib/python${PYTHON_VER}/site-packages/torch/share/cmake/Caffe2/public/LoadHIP.cmake && \
|
||||
echo "=== end ===" && \
|
||||
# 创建 HIP cmake config(apt 安装的 hip-dev 缺少 find_package 需要的配置)
|
||||
mkdir -p /opt/rocm/lib/cmake/hip && \
|
||||
printf 'set(HIP_FOUND TRUE)\nset(HIP_VERSION "7.2.1")\nset(HIP_PLATFORM amd)\nset(HIP_COMPILER /opt/rocm/llvm/bin/clang++)\nset(HIP_RUNTIME rocm)\nset(HIP_INCLUDE_DIRS /opt/rocm/include)\nset(HIP_LIBRARIES /opt/rocm/lib/libamdhip64.so)\nif(NOT TARGET hip::host)\n add_library(hip::host INTERFACE IMPORTED)\n set_target_properties(hip::host PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${HIP_INCLUDE_DIRS}")\nendif()\nif(NOT TARGET hip::device)\n add_library(hip::device INTERFACE IMPORTED)\n set_target_properties(hip::device PROPERTIES INTERFACE_COMPILE_OPTIONS "${HIP_COMPILER}")\nendif()\n' \
|
||||
|
||||
Reference in New Issue
Block a user