[ROCm][CI] Mirror the three TurboQuant evaluation groups on MI355 (#58282)

Signed-off-by: Andreas Karatzas <akaratza@amd.com> Co-authored-by: OpenAI Codex <noreply@openai.com>

Andreas Karatzas committed Sep 23, 2026 at 02:37 UTC a9f07d0bc59604d3979ba0f232469f4a80eb8175
8 files changed +183
.buildkite/test-amd.yaml
+78
@@ -3869,6 +3869,84 @@ steps:
3869 - uv pip install --system 'evalscope==1.10.0'
3870 - pytest -s -v evals/qwen4_exp/test_accuracy.py --config-list-file=configs/models-rocm.txt
3871
3872 +- label: ":amd: (MI355) LM Eval TurboQuant k8v4"
3873 + timeout_in_minutes: 30
3874 + mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3875 + dind: false
3876 + agent_pool: mi355_1
3877 + num_gpus: 1
3878 + optional: true
3879 + working_dir: "/vllm-workspace/tests"
3880 + source_file_dependencies:
3881 + - tests/evals/gsm8k/
3882 + - tests/utils.py
3883 + - tests/conftest.py
3884 + - vllm/model_executor/layers/quantization/turboquant/
3885 + - vllm/v1/attention/backends/turboquant_attn.py
3886 + - vllm/v1/attention/backends/triton_attn.py
3887 + - vllm/v1/attention/ops/triton_unified_attention.py
3888 + - vllm/v1/attention/selector.py
3889 + - vllm/v1/attention/ops/triton_turboquant_decode.py
3890 + - vllm/v1/attention/ops/triton_turboquant_store.py
3891 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
3892 + - vllm/v1/attention/ops/flydsl_kernels/
3893 + - vllm/v1/attention/ops/turboquant_soa/
3894 + - vllm/platforms/rocm.py
3895 + commands:
3896 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k8v4-rocm.txt
3897 +
3898 +- label: ":amd: (MI355) LM Eval TurboQuant t4nc"
3899 + timeout_in_minutes: 30
3900 + mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3901 + dind: false
3902 + agent_pool: mi355_1
3903 + num_gpus: 1
3904 + optional: true
3905 + working_dir: "/vllm-workspace/tests"
3906 + source_file_dependencies:
3907 + - tests/evals/gsm8k/
3908 + - tests/utils.py
3909 + - tests/conftest.py
3910 + - vllm/model_executor/layers/quantization/turboquant/
3911 + - vllm/v1/attention/backends/turboquant_attn.py
3912 + - vllm/v1/attention/backends/triton_attn.py
3913 + - vllm/v1/attention/ops/triton_unified_attention.py
3914 + - vllm/v1/attention/selector.py
3915 + - vllm/v1/attention/ops/triton_turboquant_decode.py
3916 + - vllm/v1/attention/ops/triton_turboquant_store.py
3917 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
3918 + - vllm/v1/attention/ops/flydsl_kernels/
3919 + - vllm/v1/attention/ops/turboquant_soa/
3920 + - vllm/platforms/rocm.py
3921 + commands:
3922 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-t4nc-rocm.txt
3923 +
3924 +- label: ":amd: (MI355) LM Eval TurboQuant k3v4nc"
3925 + timeout_in_minutes: 30
3926 + mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
3927 + dind: false
3928 + agent_pool: mi355_1
3929 + num_gpus: 1
3930 + optional: true
3931 + working_dir: "/vllm-workspace/tests"
3932 + source_file_dependencies:
3933 + - tests/evals/gsm8k/
3934 + - tests/utils.py
3935 + - tests/conftest.py
3936 + - vllm/model_executor/layers/quantization/turboquant/
3937 + - vllm/v1/attention/backends/turboquant_attn.py
3938 + - vllm/v1/attention/backends/triton_attn.py
3939 + - vllm/v1/attention/ops/triton_unified_attention.py
3940 + - vllm/v1/attention/selector.py
3941 + - vllm/v1/attention/ops/triton_turboquant_decode.py
3942 + - vllm/v1/attention/ops/triton_turboquant_store.py
3943 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
3944 + - vllm/v1/attention/ops/flydsl_kernels/
3945 + - vllm/v1/attention/ops/turboquant_soa/
3946 + - vllm/platforms/rocm.py
3947 + commands:
3948 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k3v4nc-rocm.txt
3949 +
3950 - label: ":amd: (MI355) LM Eval Small Models Distributed"
3951 timeout_in_minutes: 55
3952 mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
.buildkite/test_areas/lm_eval.yaml
+84
@@ -646,6 +646,34 @@ steps:
646 - vllm/v1/attention/ops/triton_turboquant_store.py
647 commands:
648 - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k8v4.txt
649 + mirror:
650 + amd:
651 + label: ":amd: (MI355) LM Eval TurboQuant k8v4"
652 + dind: false
653 + device: mi355_1
654 + num_devices: 1
655 + timeout_in_minutes: 30
656 + working_dir: /vllm-workspace/tests
657 + depends_on:
658 + - image-build-amd
659 + source_file_dependencies:
660 + - .buildkite/test_areas/lm_eval.yaml
661 + - tests/evals/gsm8k/
662 + - tests/utils.py
663 + - tests/conftest.py
664 + - vllm/model_executor/layers/quantization/turboquant/
665 + - vllm/v1/attention/backends/turboquant_attn.py
666 + - vllm/v1/attention/backends/triton_attn.py
667 + - vllm/v1/attention/ops/triton_unified_attention.py
668 + - vllm/v1/attention/selector.py
669 + - vllm/v1/attention/ops/triton_turboquant_decode.py
670 + - vllm/v1/attention/ops/triton_turboquant_store.py
671 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
672 + - vllm/v1/attention/ops/flydsl_kernels/
673 + - vllm/v1/attention/ops/turboquant_soa/
674 + - vllm/platforms/rocm.py
675 + commands:
676 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k8v4-rocm.txt
677
678 - label: ":nvidia: (H200 MIG 18GB) LM Eval TurboQuant t4nc"
679 key: lm-eval-turboquant-t4nc
@@ -658,6 +686,34 @@ steps:
686 - vllm/v1/attention/ops/triton_turboquant_store.py
687 commands:
688 - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-t4nc.txt
689 + mirror:
690 + amd:
691 + label: ":amd: (MI355) LM Eval TurboQuant t4nc"
692 + dind: false
693 + device: mi355_1
694 + num_devices: 1
695 + timeout_in_minutes: 30
696 + working_dir: /vllm-workspace/tests
697 + depends_on:
698 + - image-build-amd
699 + source_file_dependencies:
700 + - .buildkite/test_areas/lm_eval.yaml
701 + - tests/evals/gsm8k/
702 + - tests/utils.py
703 + - tests/conftest.py
704 + - vllm/model_executor/layers/quantization/turboquant/
705 + - vllm/v1/attention/backends/turboquant_attn.py
706 + - vllm/v1/attention/backends/triton_attn.py
707 + - vllm/v1/attention/ops/triton_unified_attention.py
708 + - vllm/v1/attention/selector.py
709 + - vllm/v1/attention/ops/triton_turboquant_decode.py
710 + - vllm/v1/attention/ops/triton_turboquant_store.py
711 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
712 + - vllm/v1/attention/ops/flydsl_kernels/
713 + - vllm/v1/attention/ops/turboquant_soa/
714 + - vllm/platforms/rocm.py
715 + commands:
716 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-t4nc-rocm.txt
717
718 - label: ":nvidia: (H200 MIG 18GB) LM Eval TurboQuant k3v4nc"
719 key: lm-eval-turboquant-k3v4nc
@@ -670,6 +726,34 @@ steps:
726 - vllm/v1/attention/ops/triton_turboquant_store.py
727 commands:
728 - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k3v4nc.txt
729 + mirror:
730 + amd:
731 + label: ":amd: (MI355) LM Eval TurboQuant k3v4nc"
732 + dind: false
733 + device: mi355_1
734 + num_devices: 1
735 + timeout_in_minutes: 30
736 + working_dir: /vllm-workspace/tests
737 + depends_on:
738 + - image-build-amd
739 + source_file_dependencies:
740 + - .buildkite/test_areas/lm_eval.yaml
741 + - tests/evals/gsm8k/
742 + - tests/utils.py
743 + - tests/conftest.py
744 + - vllm/model_executor/layers/quantization/turboquant/
745 + - vllm/v1/attention/backends/turboquant_attn.py
746 + - vllm/v1/attention/backends/triton_attn.py
747 + - vllm/v1/attention/ops/triton_unified_attention.py
748 + - vllm/v1/attention/selector.py
749 + - vllm/v1/attention/ops/triton_turboquant_decode.py
750 + - vllm/v1/attention/ops/triton_turboquant_store.py
751 + - vllm/v1/attention/ops/flydsl_turboquant_decode.py
752 + - vllm/v1/attention/ops/flydsl_kernels/
753 + - vllm/v1/attention/ops/turboquant_soa/
754 + - vllm/platforms/rocm.py
755 + commands:
756 + - pytest -s -v evals/gsm8k/test_gsm8k_correctness.py --config-list-file=evals/gsm8k/configs/models-turboquant-k3v4nc-rocm.txt
757
758 - label: ":nvidia: (H200 MIG 18GB) LM Eval TurboQuant t3nc"
759 key: lm-eval-turboquant-t3nc
tests/evals/gsm8k/configs/Qwen3-4B-TQ-k3v4nc-ROCm.yaml new
+6
@@ -0,0 +1,6 @@
1 +model_name: "Qwen/Qwen3-4B"
2 +accuracy_threshold: 0.78
3 +num_questions: 1319
4 +num_fewshot: 5
5 +# Triton serves the unquantized boundary layers with TurboQuant-compatible layout.
6 +server_args: "--kv-cache-dtype turboquant_k3v4_nc --max-model-len 4096 --attention-backend TRITON_ATTN"
tests/evals/gsm8k/configs/Qwen3-4B-TQ-k8v4-ROCm.yaml new
+6
@@ -0,0 +1,6 @@
1 +model_name: "Qwen/Qwen3-4B"
2 +accuracy_threshold: 0.80
3 +num_questions: 1319
4 +num_fewshot: 5
5 +# Triton serves the unquantized boundary layers with TurboQuant-compatible layout.
6 +server_args: "--kv-cache-dtype turboquant_k8v4 --max-model-len 4096 --attention-backend TRITON_ATTN"
tests/evals/gsm8k/configs/Qwen3-4B-TQ-t4nc-ROCm.yaml new
+6
@@ -0,0 +1,6 @@
1 +model_name: "Qwen/Qwen3-4B"
2 +accuracy_threshold: 0.80
3 +num_questions: 1319
4 +num_fewshot: 5
5 +# Triton serves the unquantized boundary layers with TurboQuant-compatible layout.
6 +server_args: "--kv-cache-dtype turboquant_4bit_nc --max-model-len 4096 --attention-backend TRITON_ATTN"
tests/evals/gsm8k/configs/models-turboquant-k3v4nc-rocm.txt new
+1
@@ -0,0 +1 @@
1 +Qwen3-4B-TQ-k3v4nc-ROCm.yaml
tests/evals/gsm8k/configs/models-turboquant-k8v4-rocm.txt new
+1
@@ -0,0 +1 @@
1 +Qwen3-4B-TQ-k8v4-ROCm.yaml
tests/evals/gsm8k/configs/models-turboquant-t4nc-rocm.txt new
+1
@@ -0,0 +1 @@
1 +Qwen3-4B-TQ-t4nc-ROCm.yaml