After the Q/K apply+RoPE helper regressed compiled throughput, I screened two low-risk vLLM scheduling/compile settings and then measured raw XCCL allreduce latency at MiniMax decode tensor sizes.
Conclusion:
--no-async-scheduling is negative.--compilation-config={"compile_sizes":[1]} is negative.CCL_ALLREDUCE=direct is much slower both in the microbench and full model; keep oneCCL default topo.Baseline for p512/n512:
/mnt/fast-ai/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n512-20260510T011816Z.log79.2211739.61058517,216--no-async-scheduling:
/mnt/fast-ai/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n512-20260510T045547Z.log54.61810627.3090539,408Static compile size 1:
--compilation-config={"compile_sizes":[1]}/mnt/fast-ai/bench-results/minimax-m2.7-autoround-vllm/vllm-minimax-m27-autoround-tp4-p512n512-20260510T045930Z.log61.44396930.721984(1, 1) plus the normal (1, 1024).An earlier shorthand attempt with -cc.compile_sizes+ 1 failed before model load because pydantic received "1" as a string. Use compact JSON when retesting compilation config.
I extended benchmarks/b70_xccl_allreduce_bench.py to include MiniMax decode sizes:
Default oneCCL/XCCL:
/mnt/fast-ai/bench-results/xccl-allreduce/b70-xccl-allreduce-default-20260510T050341Z.log0.016 ms0.014 ms0.044 ms9.627 ms, about 27.88 GB/sCCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0:
/mnt/fast-ai/bench-results/xccl-allreduce/b70-xccl-allreduce-topo-fabric-check0-20260510T050422Z.log0.016 ms0.014 msCCL_SYCL_ALLREDUCE_TMP_BUF=1:
/mnt/fast-ai/bench-results/xccl-allreduce/b70-xccl-allreduce-tmpbuf1-20260510T050435Z.log0.016 ms0.015 msCCL_ALLREDUCE_SMALL_THRESHOLD=0:
/mnt/fast-ai/bench-results/xccl-allreduce/b70-xccl-allreduce-smallthreshold0-20260510T050448Z.log0.016 ms0.015 msCCL_ALLREDUCE=direct:
/mnt/fast-ai/bench-results/xccl-allreduce/b70-xccl-allreduce-direct-20260510T050355Z.log0.098 ms0.103 ms0.680 ms256.967 ms, about 1.04 GB/stopo GPU-buffer allreduce algorithms copy data to host.The raw default XCCL latency for MiniMax-sized allreduces is lower than the synchronized per-layer timing seen inside vLLM. That means the next useful work should not be more oneCCL environment toggles. Better targets:
xccl;Source for the oneCCL algorithm caveat: