Fix ROCm 6.x hipBLAS API incompatibilities from ROCm 7 patch

- Add hiprand-dev and hipcub-dev for missing headers
- Patch cuda2hip_macros.hpp post-apply: downgrade hipDataType→hipblasDatatype_t
  and HIP_R_* → HIPBLAS_R_* since ROCm 6.2 hipblasGemmEx still uses the
  older hipblasDatatype_t signature (hipDataType wasn't wired into
  hipblasGemmEx until ROCm 7.0)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 21:33:06 -04:00
parent bfa18a07e0
commit f0504b0ff2

View File

@@ -12,7 +12,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git cmake cmake-curses-gui \
libopenblas-dev wget \
python3-dev python3-pip \
hipblas-dev miopen-hip-dev rocthrust-dev \
hipblas-dev miopen-hip-dev rocthrust-dev hiprand-dev hipcub-dev \
&& rm -rf /var/lib/apt/lists/*
# Build oneDNN as a static library (CPU fallback / conv ops)
@@ -40,6 +40,14 @@ RUN git clone --branch v4.0.0 --depth 1 \
cd /build/CTranslate2 && \
git submodule update --init --recursive && \
git apply /tmp/ct2_4.0.0_rocm.patch && \
sed -i \
-e 's/hipDataType/hipblasDatatype_t/g' \
-e 's/HIP_R_16F/HIPBLAS_R_16F/g' \
-e 's/HIP_R_32F/HIPBLAS_R_32F/g' \
-e 's/HIP_R_16BF/HIPBLAS_R_16BF/g' \
-e 's/HIP_R_32I/HIPBLAS_R_32I/g' \
-e 's/HIP_R_8I/HIPBLAS_R_8I/g' \
src/cuda2hip_macros.hpp && \
mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=${CTRANSLATE2_ROOT} \
-DCMAKE_PREFIX_PATH=/opt/rocm \