From 99fbaf5cdce75979467b1920e144658c078ed9f4 Mon Sep 17 00:00:00 2001 From: SZCJW <792430652@qq.com> Date: Sun, 7 Jun 2026 03:45:18 +0800 Subject: [PATCH] x --- docker/Dockerfile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index cb90033..b99971f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -161,6 +161,36 @@ 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 检查) + 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; \ + done && \ + # 无 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; \ + 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 && \ # 创建 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' \