From 4cd8d1df7d2382c8a2612172faa29f0dd8c92c4c Mon Sep 17 00:00:00 2001 From: worthant Date: Fri, 24 Jul 2026 23:40:02 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20ci(rocm):=20lean=20ROCm=20archiv?= =?UTF-8?q?e=20=E2=80=94=20stop=20bundling=20the=20multi-GB=20Tensile=20DB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ROCm archive hit 9.6 GB and blew past GitHub's 2 GB asset limit, so publish-release 422'd and b10018-1.2.0 failed to publish. Cause: I bundled the whole rocBLAS/hipBLASLt Tensile kernel database (kernels for every gfx arch) to make the archive self-contained. Drop it: ship binaries + libggml-hip.so (~0.45 GB) only, require the system ROCm runtime like upstream's ROCm builds. Archive drops ~9.6 GB -> ~0.6 GB. Adds a README-ROCm.txt noting the runtime requirement. --- .github/workflows/dev-build.yml | 20 ++++++++++---------- .github/workflows/release-turboquant.yml | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index 0a4963c17a51..050bc8a9f2ec 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -275,10 +275,11 @@ jobs: ls -l build/bin/libggml-hip.so - name: Prepare archive - # Bundle the HIP runtime like the CUDA job bundles cudart/cublas: - # user boxes have the amdgpu driver but not necessarily ROCm - # userspace. rocBLAS/hipBLASLt also ship Tensile kernel data dirs - # that must travel with the .so or matmul fails at runtime. + # Lean archive: binaries + libggml-*.so only. Do NOT bundle the ROCm + # runtime — rocBLAS/hipBLASLt ship a Tensile kernel database for every + # gfx arch that balloons the archive past 9 GB (and GitHub's 2 GB asset + # limit). AMD users install the ROCm runtime system-wide, exactly like + # upstream's ROCm builds; libggml-hip.so dlopen-links it at runtime. run: | mkdir -p release/build/bin cp build/bin/llama-server release/build/bin/ @@ -287,13 +288,12 @@ jobs: cp build/bin/llama-perplexity release/build/bin/ 2>/dev/null || true cp build/bin/llama-quantize release/build/bin/ 2>/dev/null || true find build/bin -name "*.so*" -exec cp -P {} release/build/bin/ \; 2>/dev/null || true - for lib in libamdhip64 librocblas libhipblas libhipblaslt librocsolver librocsparse libamd_comgr libhsa-runtime64; do - cp -P /opt/rocm/lib/${lib}.so* release/build/bin/ 2>/dev/null || true - done - # Tensile / hipBLASLt kernel data (required at runtime by rocBLAS). - cp -r /opt/rocm/lib/rocblas release/build/bin/ 2>/dev/null || true - cp -r /opt/rocm/lib/hipblaslt release/build/bin/ 2>/dev/null || true cp LICENSE release/build/bin/ 2>/dev/null || true + cat > release/build/bin/README-ROCm.txt << 'EOF' + This build needs the AMD ROCm runtime installed on the system + (https://rocm.docs.amd.com). Targets AMD RDNA2-RDNA4: + gfx1030/1100/1101/1102/1151/1200/1201. GCN GPUs: use the Vulkan build. + EOF cd release zip -r ../llama-turboquant-linux-x64-rocm.zip . tar -czf ../llama-turboquant-linux-x64-rocm.tar.gz . diff --git a/.github/workflows/release-turboquant.yml b/.github/workflows/release-turboquant.yml index 272b27125720..6f75b836cb64 100644 --- a/.github/workflows/release-turboquant.yml +++ b/.github/workflows/release-turboquant.yml @@ -280,10 +280,11 @@ jobs: ls -l build/bin/libggml-hip.so - name: Prepare archive - # Bundle the HIP runtime like the CUDA job bundles cudart/cublas: - # user boxes have the amdgpu driver but not necessarily ROCm - # userspace. rocBLAS/hipBLASLt also ship Tensile kernel data dirs - # that must travel with the .so or matmul fails at runtime. + # Lean archive: binaries + libggml-*.so only. Do NOT bundle the ROCm + # runtime — rocBLAS/hipBLASLt ship a Tensile kernel database for every + # gfx arch that balloons the archive past 9 GB (and GitHub's 2 GB asset + # limit). AMD users install the ROCm runtime system-wide, exactly like + # upstream's ROCm builds; libggml-hip.so dlopen-links it at runtime. run: | mkdir -p release/build/bin cp build/bin/llama-server release/build/bin/ @@ -292,13 +293,12 @@ jobs: cp build/bin/llama-perplexity release/build/bin/ 2>/dev/null || true cp build/bin/llama-quantize release/build/bin/ 2>/dev/null || true find build/bin -name "*.so*" -exec cp -P {} release/build/bin/ \; 2>/dev/null || true - for lib in libamdhip64 librocblas libhipblas libhipblaslt librocsolver librocsparse libamd_comgr libhsa-runtime64; do - cp -P /opt/rocm/lib/${lib}.so* release/build/bin/ 2>/dev/null || true - done - # Tensile / hipBLASLt kernel data (required at runtime by rocBLAS). - cp -r /opt/rocm/lib/rocblas release/build/bin/ 2>/dev/null || true - cp -r /opt/rocm/lib/hipblaslt release/build/bin/ 2>/dev/null || true cp LICENSE release/build/bin/ 2>/dev/null || true + cat > release/build/bin/README-ROCm.txt << 'EOF' + This build needs the AMD ROCm runtime installed on the system + (https://rocm.docs.amd.com). Targets AMD RDNA2-RDNA4: + gfx1030/1100/1101/1102/1151/1200/1201. GCN GPUs: use the Vulkan build. + EOF cd release zip -r ../llama-turboquant-linux-x64-rocm.zip . tar -czf ../llama-turboquant-linux-x64-rocm.tar.gz .