Repository navigation
fix(gpu): prequantize DeltaNet gate before batched GEMM - #9
Vasyl-Trefilov merged 3 commits into
Conversation
Signed-off-by: bettercallcaleb <121191527+bettercallcaleb@users.noreply.github.com>
|
Thanks for tracking this down. I don't have that GGUF, but my guess is that its qkv ( Three requests before merging:
Small point: the batched and non-batched results come from the same |
…in cache (#9) Closes #8. Arch/NVRTC bring-up for sm_70 (M1-T1): version detection, accurate 12.x guidance, a hard error for NVRTC >= 13 on pre-Ampere devices, Volta-marked startup line, and an NVRTC-tagged cubin cache key. A6 (version-scoped cache hit) stays deferred until M1-T2..M1-T6 make the sm_70 compile succeed.
Problem
On a Qwen3.8-27B IQ2_XS dense GGUF, CUDA prefill fails with:
The DeltaNet gate GEMM uses an integer tensor-core path and sets
SAME_Xinside a parallel batch. The earlier GEMM need not have populated the matching quantized activation cache, so the batch cannot safely quantize it.Fix
Prepare the gate's quantized input before starting the batched DeltaNet scan and gate GEMM. Implement this on CUDA and Vulkan, preserving the existing parallel scheduling and the float-weight fast path.
Verification
bench --pp 256 --tg 32 --reps 1 --mtp 0run completed on both CUDA and Vulkan. CUDA: 296.5 prefill / 23.9 decode tok/s; Vulkan: 64.3 prefill / 16.9 decode tok/s. These are single-run diagnostics, not comparative performance claims.cargo test --locked -- --skip spirv_is_freshpassed. The unfiltered suite encounters an existing local GLSL compiler error in the shader regeneration test; no shaders changed.git diff --checkpassed.