mirror of
https://github.com/deepseek-ai/DeepInfer.git
synced 2026-11-01 17:26:25 +08:00
With MTP on (the default), the sampler is built with rejection sampling for the draft-verification
rows, which this backend does not implement. It asserted, so the whole MTP path failed with the
triton backend even though 16 of its 20 kernels were ported.
It now hands that variant to the default backend and says so once. That is a deliberate delegation
rather than a silent fallback: `fused_sample` is exported by this module, so the per-kernel
`_FallbackNotice` cannot cover it, and the note has to come from the factory.
Verified both ways on 8xH20, same tokens as the pure TileLang run either way:
MTP off 20/20 kernels Triton, no fallback notice at all
MTP on 16/20 kernels Triton, and exactly five notices -- the four unported MTP kernels plus
this delegation, with nothing unaccounted for
The remaining MTP work is `remap_draft_topk`, `get_accept_result`, `finalize_verification`,
`get_fused_dflash_get_input`, and this rejection variant.
|
||
|---|---|---|
| .. | ||
| _C | ||
| distributed | ||
| engine | ||
| entrypoints | ||
| h20_ops | ||
| hugging_face | ||
| model_executor | ||
| npu_ops | ||
| structure_output | ||
| ve | ||
| worker | ||
| __init__.py | ||
| attrdict.py | ||
| config.py | ||
| debug_dump.py | ||
| environ.py | ||
| load_class.py | ||
| logger.py | ||
| model_config_loader.py | ||
| multimodal_tokens.py | ||
| platform.py | ||
| py.typed | ||
| sampling_params.py | ||
| sequence.py | ||
| shared_memory.py | ||
| testing.py | ||
| timer.py | ||
| utils.py | ||