[Feat][Kernel] Add an opt-in deterministic FlashInfer TopK backend - #55872
LopezCastroRoberto wants to merge 1 commit into
Conversation
72379fd to
7c019ad
Compare
7c019ad to
bccc06c
Compare
|
Ran this PR on two DGX Sparks (GB10, sm_121, drivers 580.159.03 and 580.95.05) at TP=2 over Ray, the same topology and flags as #54521. With FlashInfer 0.6.18 the backend doesn't run on this GPU: the server loads the model and profiles, then dies in vLLM's post-profiling kernel warmup ( Setup: The failure, identical on both ranks at the same second, four seconds after Where that comes from in FlashInfer 0.6.18: Standalone in the same image on the same GPU,
So the constructor check in For the native path I have one launch of each: the stock image, and the PR files with
Both launches show the #54521 pattern on this nightly at TP=2: byte-identical below the 8192 budget, several distinct completions above it. The completions themselves differ between the two launches even on the identical rows. With one launch per arm I can't separate the PR overlay from launch state. I can attach the probe and the logs. |
|
@jahnclawdmonet's shared-memory finding also explains a failure we reported earlier without a cause, and Third GB10, and the mechanism names our earlier symptom. On 2026-09-08 we reported on #55122 that So the failure is not TP- or Ray-specific — TP=1 and TP=2 fail for the same structural reason, on three On the premise, and we say this about our own PR first. The motivation here is that "index selection
We published exactly this about our own #55122 before writing it here, and we think it applies the Bounds, so this is not read as more than it is. Both runs are prefill-only comparisons on one model TP=1 is the axis this thread does not otherwise have, and the box is free — happy to run any specific Data: AI assistance was used in preparing this comment; the measurements are ours and were reviewed before posting. |
|
This pull request has merge conflicts that must be resolved before it can be |
Motivation
Sparse-attention index selection can be non-deterministic when values tie at the TopK boundary.
This adds an opt-in backend for users who need deterministic index selection, without changing the vLLM native TopK default or its performance characteristics.
This PR does not change default inference behavior and does not claim a model-quality improvement; its purpose is reproducible TopK selection for those who need this functionality.