This commit is contained in:
2026-06-07 14:37:15 +08:00
parent 3c085567b8
commit 3336660647
+11 -7
View File
@@ -112,7 +112,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
hipblas-dev hiprand-dev hipsparse-dev hipsparselt-dev \
hipsolver-dev hipcub-dev rocprim-dev rocthrust-dev \
rocblas-dev rocrand-dev hipfft-dev hipblaslt-dev \
rocsolver-dev rocm-cmake rocm-core && \
rocsolver-dev rocfft-dev rocsparse-dev rocm-cmake rocm-core && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# ===========================================================================
@@ -161,15 +161,19 @@ 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(强制覆盖,防止残留破损 config)
# 批量创建 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}"; \
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})."; \
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})."; \
else \
echo "${hip_pkg}-config.cmake already exists, skipping."; \
fi; \
done && \
# 无 roc 对应物的 hip 包,创建 minimal cmake config(强制覆盖)
for pkg in hipblaslt hiprtc; do \