diff --git a/Dockerfile b/Dockerfile index 1611c6e1f..e6bd7fb75 100644 --- a/Dockerfile +++ b/Dockerfile @@ -171,6 +171,17 @@ RUN if [ "${BUILD_TYPE}" = "hipblas" ]; then \ ln -s /opt/rocm-**/lib/llvm/lib/libomp.so /usr/lib/libomp.so \ ; fi +# ROCm's bundled libdrm_amdgpu is built with a hardcoded fallback lookup path +# for the ASIC ID table (/opt/amdgpu/share/libdrm/amdgpu.ids), which only exists +# if AMD's full amdgpu graphics/DKMS stack is installed. This compute-only image +# doesn't have it, so hipblas/rocBLAS log "No such file or directory" on every +# model load and can fail to identify the GPU. Point it at the equivalent file +# Ubuntu's libdrm-amdgpu1 already ships. +RUN if [ "${BUILD_TYPE}" = "hipblas" ] && [ -f /usr/share/libdrm/amdgpu.ids ] && [ ! -e /opt/amdgpu/share/libdrm/amdgpu.ids ]; then \ + mkdir -p /opt/amdgpu/share/libdrm && \ + ln -s /usr/share/libdrm/amdgpu.ids /opt/amdgpu/share/libdrm/amdgpu.ids \ + ; fi + RUN expr "${BUILD_TYPE}" = intel && echo "intel" > /run/localai/capability || echo "not intel" # Cuda