Files
automatic/cli
CalamitousFelicitousness b2de8f53c4 feat(attention): sdnq backend consumes the block selection
The sdnq Triton kernel gains a block mask input (on the submodule's feat/block-mask branch; the pointer here is unchanged), so the backend advertises the block_mask cap and passes the router's selection as block_mask plus its block sizes. Prepare probes the installed kernel's signature and narrows the cap when the input is missing, warning when sparse attention is on, so an older submodule stays dense instead of failing. PlanEntry carries the narrowed caps, and the router, the sparse stage and the report read those rather than the declaration.

- benchmark: int8-sparse100/50/30/15 and int8-radial30 rows feed the same producer as the flex rows into the quantized kernel, skipped on builds without block_mask; a --configs filter selects attention rows the way --block-configs selects block rows; sparse rows of either backend are held out of the settings advice
- test/test-attention-sdnq-sparse.py: the kernel contract against the token-expanded mask, the nesting filter, the public entry on the quantized paths, the backward against the same selection and against fp32 autograd, and the flex consumer on one selection, pinned to one tile per run with a --tiles sweep
- locale: the sparse attention hint names both capable backends
2026-08-28 12:40:22 +01:00
..
2026-03-20 18:42:44 -07:00
2026-08-10 20:43:50 +02:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2025-04-25 12:25:30 -04:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2024-11-27 15:36:22 -05:00
2026-03-20 18:42:44 -07:00
2026-06-04 12:36:10 +02:00
2026-02-18 17:53:08 +01:00
2026-02-18 17:53:08 +01:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-20 18:42:44 -07:00
2026-03-27 19:17:37 +01:00
2026-04-06 01:06:19 -07:00
2026-02-05 10:33:42 +01:00
2026-03-27 19:17:37 +01:00
2026-08-11 15:42:29 +02:00
2026-03-12 14:11:47 +01:00
2025-02-07 11:03:24 -05:00
2026-08-26 10:24:17 +02:00
2026-08-26 10:24:17 +02:00
2026-03-20 18:42:44 -07:00
2024-11-01 14:50:36 -04:00
2026-03-27 19:17:37 +01:00
2026-06-04 12:36:10 +02:00
2025-04-25 12:25:30 -04:00
2025-06-18 00:38:17 +00:00
2026-03-05 20:06:09 -08:00
2025-02-22 14:25:58 -05:00
2026-03-20 18:42:44 -07:00
2026-03-27 19:17:37 +01:00
2025-04-05 22:26:07 +09:00