Measured 17 October 2026 · public synthetic control
vLLM top-p masking kept 4160 tokens instead of 1913.
We reproduced the case from vLLM issue #61997 on one H100 PCIe. The parent kernel passed. The introducing commit and the reported source kept extra boundary ties. The proposed counter update passed this control.
Three historical kernel files were loaded into the same vLLM 0.31.0 environment. These are file/commit comparisons, not complete release installations. No model weights, generated answers or private MiMo rows were tested. Speed is not calibrated.
What changed
For this synthetic input, top-p=0.7 should keep 1913 tokens. With ties spread across eight blocks, the affected kernel kept 4160, retaining 0.994422 probability mass instead of 0.700037. Packing the same tied values into one block passed.
| Kernel source | Ties across blocks | Ties in one block |
|---|---|---|
| Parent bb363db9a5 | 1913 · PASS | 1913 · PASS |
| Introducing bf95f58d10 | 4160 · BLOCK | 1913 · PASS |
| Reported fa75d3456d | 4160 · BLOCK | 1913 · PASS |
| Reported + proposed fix | 1913 · PASS | 1913 · PASS |
BLOCK means the listed synthetic kept-count check failed. It is not a verdict on the whole release. The introducing commit is the direct child of the passing parent.
Why this control matters
The issue identifies a running count that is not advanced between 8192-entry blocks. The isolated proposed update is:
num_preceding += tl.sum(dmask.to(tl.float32))
The update restored the expected count in this control. It does not prove a general fix for other probability defects or establish an upstream merge.
Checks behind the result
- Same inputs, GPU and pinned environment for every source arm.
- Independent mathematical reference: 64 high-logit tokens plus 1849 tied tokens.
- Both tie layouts at batch 64; batch 65 passed all four arms as a monolithic-path control.
- Every arm repeated twice with bitwise-identical outputs. These are correctness repeats, not speed calibration.
- All eight masked-logit outputs retained, with per-row counts, probability masses and SHA-256 hashes.
Environment and limits
NVIDIA H100 PCIe, 114 SMs; vLLM 0.31.0; PyTorch 2.13.0+cu130; CUDA runtime 13.0; Triton 3.7.1; Python 3.12.3. No packages were changed for the test.
The container's dependency check was not clean: its OpenTelemetry exporter required SDK 1.45 while 1.40 was installed; PyTorch required NCCL 2.29.7 while 2.30.7 was installed. The kernel checks completed despite these diagnostics. This is not evidence of general environment or production readiness.
Other vocabulary sizes, batch sizes, GPUs, model answers and end-to-end serving are untested. The original issue's private-data results belong to its author and were not reproduced here. Provider billing reconciliation is pending; the reserved job budget is $3, not a measured charge.
Inspect or reproduce
Immutable result manifest · All row observations · Reproduction instructions · Raw masked-logit outputs
Credit: Bowen Wang (abmfy) reported the defect, supplied the synthetic input and proposed the counter update. DulyRun independently executed the retained input on H100 PCIe and compared the adjacent source commits and controls. No company requested this research check.