From 7641ae0127252e4982cab69a2fcf225a94f43081 Mon Sep 17 00:00:00 2001 From: Donato Capitella Date: Sat, 16 Aug 2025 11:48:42 +0100 Subject: [PATCH] reducing size of rocm-6.4.3 --- refresh-toolboxes.sh | 1 - toolboxes/Dockerfile.rocm-6.4.3 | 38 +++++++++++++++++------- toolboxes/Dockerfile.rocm-6.4.3-rocwmma | 39 ++++++++++++++++++------- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/refresh-toolboxes.sh b/refresh-toolboxes.sh index c04684f..cdc8b0e 100644 --- a/refresh-toolboxes.sh +++ b/refresh-toolboxes.sh @@ -11,7 +11,6 @@ TOOLBOXES["llama-rocm-6.4.2"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-6.4 TOOLBOXES["llama-rocm-6.4.2-rocwmma"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-6.4.2-rocwmma --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" TOOLBOXES["llama-rocm-6.4.3"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-6.4.3 --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" TOOLBOXES["llama-rocm-6.4.3-rocwmma"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-6.4.3-rocwmma --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" -TOOLBOXES["llama-rocm-7beta"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-7beta --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" TOOLBOXES["llama-rocm-7rc"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-7rc --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" TOOLBOXES["llama-rocm-7rc-rocwmma"]="docker.io/kyuz0/amd-strix-halo-toolboxes:rocm-7rc-rocwmma --device /dev/dri --device /dev/kfd --group-add video --group-add render --group-add sudo --security-opt seccomp=unconfined" diff --git a/toolboxes/Dockerfile.rocm-6.4.3 b/toolboxes/Dockerfile.rocm-6.4.3 index c19d136..ef601aa 100644 --- a/toolboxes/Dockerfile.rocm-6.4.3 +++ b/toolboxes/Dockerfile.rocm-6.4.3 @@ -15,11 +15,22 @@ REPO EOF # deps -RUN dnf -y --nodocs --setopt=install_weak_deps=False install \ - make gcc cmake lld clang clang-devel compiler-rt libcurl-devel \ - rocm rocminfo radeontop \ - git vim sudo rsync \ - && dnf clean all && rm -rf /var/cache/dnf/* +RUN dnf -y --nodocs --setopt=install_weak_deps=False \ + --exclude='*sdk*' --exclude='*samples*' --exclude='*-doc*' --exclude='*-docs*' \ + install \ + make gcc cmake lld clang clang-devel compiler-rt libcurl-devel \ + rocm-llvm rocm-device-libs hip-runtime-amd hip-devel \ + rocblas rocblas-devel hipblas hipblas-devel \ + rocminfo radeontop \ + git-core vim sudo rsync \ + && dnf clean all && rm -rf /var/cache/dnf/* + +# rocm env +ENV ROCM_PATH=/opt/rocm \ + HIP_PATH=/opt/rocm \ + HIP_CLANG_PATH=/opt/rocm/llvm/bin \ + HIP_DEVICE_LIB_PATH=/opt/rocm/amdgcn/bitcode \ + PATH=/opt/rocm/bin:/opt/rocm/llvm/bin:$PATH # llama.cpp WORKDIR /opt/llama.cpp @@ -29,12 +40,15 @@ RUN git clone --recursive https://github.com/ggerganov/llama.cpp.git . RUN git clean -xdf \ && git pull \ && git submodule update --recursive \ - && HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" \ - cmake -S . -B build \ + && cmake -S . -B build \ -DGGML_HIP=ON \ -DAMDGPU_TARGETS=gfx1151 \ -DCMAKE_BUILD_TYPE=Release \ -DLLAMA_HIP_UMA=ON \ + -DROCM_PATH=/opt/rocm \ + -DHIP_PATH=/opt/rocm \ + -DHIP_PLATFORM=amd \ + -DCMAKE_HIP_FLAGS="--rocm-path=/opt/rocm" \ && cmake --build build --config Release -- -j$(nproc) \ && cmake --install build --config Release @@ -64,14 +78,16 @@ REPO EOF # runtime deps -RUN microdnf -y --nodocs --setopt=install_weak_deps=0 install \ +RUN microdnf -y --nodocs --setopt=install_weak_deps=0 \ + --exclude='*sdk*' --exclude='*samples*' --exclude='*-doc*' --exclude='*-docs*' \ + install \ bash ca-certificates libatomic libstdc++ libgcc \ - rocm rocminfo radeontop \ - && microdnf clean all && rm -rf /var/cache/dnf/* + hip-runtime-amd rocblas hipblas \ + rocminfo radeontop \ + && microdnf clean all && rm -rf /var/cache/dnf/* # copy COPY --from=builder /usr/local/ /usr/local/ -COPY --from=builder /usr/include/rocwmma /usr/include/rocwmma # ld RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf \ diff --git a/toolboxes/Dockerfile.rocm-6.4.3-rocwmma b/toolboxes/Dockerfile.rocm-6.4.3-rocwmma index a8020a6..5afc862 100644 --- a/toolboxes/Dockerfile.rocm-6.4.3-rocwmma +++ b/toolboxes/Dockerfile.rocm-6.4.3-rocwmma @@ -15,11 +15,22 @@ REPO EOF # deps -RUN dnf -y --nodocs --setopt=install_weak_deps=False install \ - make gcc cmake lld clang clang-devel compiler-rt libcurl-devel \ - rocm rocminfo radeontop \ - git vim sudo rsync \ - && dnf clean all && rm -rf /var/cache/dnf/* +RUN dnf -y --nodocs --setopt=install_weak_deps=False \ + --exclude='*sdk*' --exclude='*samples*' --exclude='*-doc*' --exclude='*-docs*' \ + install \ + make gcc cmake lld clang clang-devel compiler-rt libcurl-devel \ + rocm-llvm rocm-device-libs hip-runtime-amd hip-devel \ + rocblas rocblas-devel hipblas hipblas-devel \ + rocminfo radeontop \ + git-core vim sudo rsync \ + && dnf clean all && rm -rf /var/cache/dnf/* + +# rocm env +ENV ROCM_PATH=/opt/rocm \ + HIP_PATH=/opt/rocm \ + HIP_CLANG_PATH=/opt/rocm/llvm/bin \ + HIP_DEVICE_LIB_PATH=/opt/rocm/amdgcn/bitcode \ + PATH=/opt/rocm/bin:/opt/rocm/llvm/bin:$PATH # rocWMMA WORKDIR /opt @@ -35,13 +46,16 @@ RUN git clone --recursive https://github.com/ggerganov/llama.cpp.git . RUN git clean -xdf \ && git pull \ && git submodule update --recursive \ - && HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" \ - cmake -S . -B build \ + && cmake -S . -B build \ -DGGML_HIP=ON \ -DAMDGPU_TARGETS=gfx1151 \ -DCMAKE_BUILD_TYPE=Release \ -DLLAMA_HIP_UMA=ON \ -DGGML_HIP_ROCWMMA_FATTN=ON \ + -DROCM_PATH=/opt/rocm \ + -DHIP_PATH=/opt/rocm \ + -DHIP_PLATFORM=amd \ + -DCMAKE_HIP_FLAGS="--rocm-path=/opt/rocm" \ && cmake --build build --config Release -- -j$(nproc) \ && cmake --install build --config Release @@ -71,14 +85,16 @@ REPO EOF # runtime deps -RUN microdnf -y --nodocs --setopt=install_weak_deps=0 install \ +RUN microdnf -y --nodocs --setopt=install_weak_deps=0 \ + --exclude='*sdk*' --exclude='*samples*' --exclude='*-doc*' --exclude='*-docs*' \ + install \ bash ca-certificates libatomic libstdc++ libgcc \ - rocm rocminfo radeontop \ - && microdnf clean all && rm -rf /var/cache/dnf/* + hip-runtime-amd rocblas hipblas \ + rocminfo radeontop \ + && microdnf clean all && rm -rf /var/cache/dnf/* # copy COPY --from=builder /usr/local/ /usr/local/ -COPY --from=builder /usr/include/rocwmma /usr/include/rocwmma # ld RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf \ @@ -99,3 +115,4 @@ RUN printf '%s\n' \ # shell CMD ["/bin/bash"] +