loopyt 07229fab31 feat(triton): start on the MTP path with three draft kernels
compute_seqlens_k_zos, confidence_head_fused and dflash_input_store, all identical to the baseline:
15 cases across the three.

`compute_seqlens_k_zos` masks the remap lookup rather than clamping it: `-1` marks a fresh request,
and an unmasked `PREV_ACCEPTED + (-1)` would read the element before the buffer.

`confidence_head_fused` reads the weight as one flat vector and splits it at `n_embed`, so the
hidden and Markov halves are one accumulation instead of two passes. Without a Markov embedding the
second pointer is filled with the first tensor rather than left null, since the read is compiled out
but the argument still has to be a pointer. The scaled logit is clamped to +-60 before the sigmoid,
as the baseline does, so a small temperature cannot produce inf through `exp`.

`dflash_input_store` accumulates in fp32 even though both sides are bf16: the baseline sums into an
fp32 fragment, and a bf16 accumulator would round differently for hc_mult > 1.

One trap: `tl.next_power_of_2` inside a kernel body is not a compile-time constant, so the Markov
block size is resolved in the factory and passed as a constexpr.
2026-10-22 09:02:22 +08:00
..
tilelang_ops feat(triton): start on the MTP path with three draft kernels 2026-10-22 09:02:22 +08:00
__init__.py initial commit 2026-10-20 12:09:42 +08:00
attention_backend.py initial commit 2026-10-20 12:09:42 +08:00
layernorm.py initial commit 2026-10-20 12:09:42 +08:00
linear.py feat: add SM90 (Hopper) support for DeepSeek-V4.1 inference 2026-10-21 15:18:56 +08:00
mtp_info_pool.py initial commit 2026-10-20 12:09:42 +08:00
rotary_embedding.py initial commit 2026-10-20 12:09:42 +08:00
sampler_utils.py initial commit 2026-10-20 12:09:42 +08:00
sampler.py fix(debug): move debug_dump out of h20_ops so other platforms can import it 2026-10-21 22:37:49 +08:00
vocab_parallel_embedding.py initial commit 2026-10-20 12:09:42 +08:00