@@ -71,12 +71,11 @@ jobs:
7171 # AaronStGeorge/llamacpp_ci)
7272 # TODO: switch to ROCm/llamacpp-hrx-bench once it is open sourced.
7373 BENCH_REPOSITORY : AaronStGeorge/llamacpp_ci
74- BENCH_REF : ' runner-health '
74+ BENCH_REF : ' main '
7575 # actions/checkout@v6 does auto-cleanup, an in-tree build would be
7676 # auto-cleaned as well.
7777 BENCH_DIR : ${{ github.workspace }}/bench
7878 LLAMA_SRC_DIR : ${{ github.workspace }}/llama-src
79- # Build tree off the bind mount too (source stays under the workspace).
8079 LLAMA_BUILD_DIR : /work/llama-build
8180 HRX_EXTRA_ROCM_ARTIFACTS : ${{ matrix.extra_rocm_artifacts }}
8281 GGML_HRX_AMDGPU_TARGETS : ${{ matrix.gpu_target }}
@@ -95,18 +94,13 @@ jobs:
9594 ref : ${{ env.BENCH_REF }}
9695 path : bench
9796
98- # Runner identity dump -- logs RUNNER_NAME so the specific self-hosted
99- # runner behind a failure is greppable from the job log. Runs right after
100- # the bench checkout (earliest a bench script is available); if: always()
101- # so it still logs when a later step fails. NOTE: a gfx1201 "Initialize
102- # containers" failure happens before any step runs and isn't captured here.
103- - name : Debug (runner identity)
97+ - name : Runner info
10498 if : always()
10599 env :
106100 MATRIX_NAME : ${{ matrix.name }}
107101 MATRIX_GPU_TARGET : ${{ matrix.gpu_target }}
108102 MATRIX_RUNS_ON : ${{ matrix.runs_on }}
109- run : " ${BENCH_DIR}/scripts/hrx/runner-identity .sh"
103+ run : " ${BENCH_DIR}/scripts/hrx/runner-info .sh"
110104
111105 - name : Install ROCm build dependencies
112106 run : " ${BENCH_DIR}/scripts/hrx/install-rocm-deps.sh"
@@ -124,15 +118,6 @@ jobs:
124118 - name : Fetch ROCm assets
125119 run : " ${BENCH_DIR}/scripts/hrx/fetch-rocm-assets.sh"
126120
127- # Dump GPU/board identity (serial/VBIOS/fw via rocminfo/amd-smi/rocm-smi)
128- # and fail fast on gross breakage (no /dev/kfd, dead rocminfo, expected
129- # gfx arch not enumerated) before the costly HRX/llama build. Runs here
130- # because the diag binaries only exist in the composed prefix after the
131- # fetch step. Does NOT detect the gfx1151 coherence NaN flake.
132- - name : GPU health check
133- timeout-minutes : 3
134- run : " ${BENCH_DIR}/scripts/hrx/runner-health.sh"
135-
136121 - name : Build HRX
137122 run : " ${BENCH_DIR}/scripts/hrx/build-hrx.sh"
138123
@@ -144,39 +129,7 @@ jobs:
144129 - name : Build llama.cpp with HRX
145130 run : " ${BENCH_DIR}/scripts/hrx/build-llama-hrx.sh"
146131
147- # Diagnostic: run the failing MUL_MAT config N times in THIS job to measure
148- # the per-RUNNER failure rate -- does a bad machine fail every iteration or
149- # only some? Advisory (continue-on-error, runs BEFORE the gating step so it
150- # still executes on a failing machine). Correlate the printed count with
151- # RUNNER_NAME (see the Debug step). Tune N via the MULMAT_LOOP_N var.
152- - name : MUL_MAT failure-rate loop (diagnostic)
153- continue-on-error : true
154- timeout-minutes : 20
155- run : |
156- . "${BENCH_DIR}/scripts/hrx/env.sh"
157- . "${BENCH_DIR}/scripts/hrx/runtime-env.sh"
158- set +e # count pass/fail from the output, don't let a NaN exit abort
159- TB="${LLAMA_BUILD_DIR}/bin/test-backend-ops"
160- TF="${BENCH_DIR}/benchmark-configs/test/mul_mat_f16.txt"
161- N="${MULMAT_LOOP_N:-50}"
162- pass=0; fail=0; other=0
163- for i in $(seq 1 "$N"); do
164- out="$("$TB" test -o MUL_MAT -b HRX0 --test-file "$TF" 2>&1 | sed 's/\x1b\[[0-9;]*m//g')"
165- if echo "$out" | grep -q 'NaN at index'; then
166- fail=$((fail+1))
167- [ "$fail" -le 3 ] && echo "iter $i FAIL: $(echo "$out" | grep -m1 'NaN at index')"
168- elif echo "$out" | grep -q '1/1 tests passed'; then
169- pass=$((pass+1))
170- else
171- other=$((other+1))
172- [ "$other" -le 2 ] && echo "iter $i OTHER: $(echo "$out" | tail -2 | tr '\n' ' ')"
173- fi
174- done
175- echo "MULMAT_RATE runner=${RUNNER_NAME} fail=${fail} pass=${pass} other=${other} total=${N}"
176- echo "::notice::MUL_MAT rate on ${RUNNER_NAME}: ${fail}/${N} FAIL (pass=${pass}, other=${other})"
177-
178132 - name : Run sample MUL_MAT correctness config on HRX
179- timeout-minutes : 15
180133 run : |
181134 . "${BENCH_DIR}/scripts/hrx/env.sh"
182135 . "${BENCH_DIR}/scripts/hrx/runtime-env.sh"
@@ -188,7 +141,6 @@ jobs:
188141 --output benchmark-results/sample-mul-mat-f16-hrx-test.jsonl
189142
190143 - name : Run sample MUL_MAT benchmark config on HRX
191- timeout-minutes : 15
192144 run : |
193145 . "${BENCH_DIR}/scripts/hrx/env.sh"
194146 . "${BENCH_DIR}/scripts/hrx/runtime-env.sh"
0 commit comments