From 4801e3c567d5131dd41b387df5f2d4b1370d92be Mon Sep 17 00:00:00 2001 From: Jim Wu Date: Mon, 10 Aug 2026 21:21:32 -0700 Subject: [PATCH] tests : disable backend sampler hip multi output (#26878) * test-backend-sampler: skip multi_output_sampling_chain on HIP The new multi_output_sampling_chain test uses top_k, whose backend probs path needs CUB (unavailable on HIP), so sampled_probs is null and the test aborts. Add it to the existing HIP skip list alongside the other TOP_K tests. * ci: keep gpu-rocm logs in a per-run dir keyed by GitHub run id The self-hosted gpu-rocm runner can't upload logs to Azure blob (egress firewalled), so a run's logs were wiped by the next run. Write each run's logs to $OUT/run--/ so an Actions run URL maps to its logs. * test-backend-sampler: also skip multi_output_cpu on HIP Like the other TOP_K-based subtests, multi_output_cpu's backend sampler never initializes on HIP (no CUB TOP_K), so it aborts. Add it to the skip list. --------- Co-authored-by: Jim Wu --- ci/run.sh | 8 ++++++++ tests/test-backend-sampler.cpp | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ci/run.sh b/ci/run.sh index f6c7eb0d5c..8046df2551 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -49,6 +49,14 @@ mkdir -p "$2" OUT=$(realpath "$1") MNT=$(realpath "$2") +# gpu-rocm self-hosted runner can't upload logs to blob; keep each run's logs in +# their own dir keyed by the GitHub run id so an Actions run URL maps to its logs. +if [ -n "${GG_BUILD_ROCM}" ] && [ -n "${GITHUB_RUN_ID}" ]; then + OUT="$OUT/run-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT:-1}" + mkdir -p "$OUT" + echo "ci results dir: $OUT" +fi + rm -f $OUT/*.log rm -f $OUT/*.exit rm -f $OUT/*.md diff --git a/tests/test-backend-sampler.cpp b/tests/test-backend-sampler.cpp index 4b3d12635a..c23e7248d5 100644 --- a/tests/test-backend-sampler.cpp +++ b/tests/test-backend-sampler.cpp @@ -2105,7 +2105,9 @@ static std::vector collect_tests_to_run(const std::st #ifdef GGML_USE_HIP // TODO: remove this when https://github.com/ggml-org/llama.cpp/pull/26592 is merged if (test.name == "penalties" || test.name == "set_sampler" || - test.name == "mixed" || test.name == "top_p") { + test.name == "mixed" || test.name == "top_p" || + test.name == "multi_output_sampling_chain" || + test.name == "multi_output_cpu") { fprintf(stderr, "Skipping test '%s' on HIP backend (no backend TOP_K support)\n", test.name.c_str()); continue; }