Claude
e87470733d
accel(ixformer): wire BI-V100 hardware primitives into GDN + MoE compute paths
Before: 9 ixformer ops available, 0 used by our code (100% pure PyTorch).
After: matmul/bmm/softmax wired into every hot path.
Decode path (runs for EVERY generated token):
- 2× torch.bmm → _ix_bmm (kv_mem lookup + output projection)
Chunk scan loop (prefill, runs per 2048-token chunk):
- k_beta @ key.T → _ix_matmul
- attn @ v_beta → _ix_matmul
- attn @ k_beta_exp → _ix_matmul
- 6× matmul inside state update loop → _ix_matmul
MoE routing + expert dispatch:
- torch.softmax → _ix_softmax (router)
- torch.bmm in decode fast-path → _ix_bmm
Also adds CODEPATH_MAP.md — complete source-file-level timing diagram
from HTTP request to GPU kernel, with line numbers.
ixformer.matmul signature: matmul(input, other, out, transa, transb, alpha, beta)
ixformer.softmax signature: softmax(input, dim)
Both fall back to torch if ixformer unavailable.
2026-08-08 22:35:21 +00:00
..
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-07 07:55:04 +00:00
2026-08-07 08:56:50 +00:00
2026-08-08 07:01:37 +00:00
2026-08-05 08:24:43 +00:00
2026-08-07 07:05:40 +00:00
2026-07-30 16:06:20 +00:00
2026-08-05 08:24:43 +00:00
2026-08-08 10:48:01 +00:00
2026-08-07 08:56:36 +00:00
2026-08-07 04:37:44 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-07 09:58:35 +00:00
2026-08-08 21:49:39 +00:00
2026-08-07 10:02:09 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-08 10:48:01 +00:00
2026-08-07 02:46:46 +00:00
2026-08-08 11:21:43 +00:00
2026-08-08 07:36:31 +00:00
2026-08-08 08:10:55 +00:00
2026-08-08 22:35:21 +00:00
2026-08-08 07:02:22 +00:00
2026-08-05 08:36:52 +00:00
2026-08-06 02:55:51 +00:00
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-08 21:49:39 +00:00
2026-08-05 08:36:52 +00:00
2026-08-07 06:36:12 +00:00
2026-08-07 01:54:52 +00:00