whn09 5e36f90015 Neuron table attention: decode only the blocks a decode step's requests reference
The table path decoded the whole KV pool every layer (160 blocks x 128 slots);
the fp8 record decode is integer work on GpSimd and took 6-10 ms a layer
(device profile of the 6-row attention graph, bench47). A decode step's
requests reference at most ceil(ctx / page) + 1 blocks of a scope each: those
blocks are chosen with cumsum + scatter (static shapes), gathered whole (one
contiguous run each; a per-slot gather was slower than the full decode) and the
indices remapped into them. Sizes are rounded to a power of two (neuronx-cc ISA
validation 'same_element_count_t2d' otherwise). Prompt-chunk buckets keep the
whole pool. The graph runner sets the bounds (requests, context bucket) per
replay.

bench50 (512 in, 128 out, TP=64, nextn=5): TPOT 234.1 -> 208.4 ms, step
907 -> 805 ms, per-request tokens-per-step identical to bench41 (3.85, 4.38,
1.98). Tiny cp=2 nextn=5 with a 128-block pool: 9/9 golden tokens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:58:11 +08:00
..
nki Neuron: per-layer region graphs + vllm-neuron#71 NKI kernels (issues #10, #11, #13, #25) 2026-10-22 17:36:54 +08:00
vendor Neuron engram shared tables: one file for the whole group (#28) 2026-10-24 07:08:37 +08:00
__init__.py Add AWS Trainium (Neuron) platform, basic mode — part 1 2026-10-20 18:34:51 +08:00
fp8_guard.py Neuron: tiny model on a NeuronCore matches the reference (issues #1, #2, #4) 2026-10-21 13:22:59 +08:00
fp8.py Neuron: full DeepSeek-V4.1-Flash load + decode region graphs at EP=64 (issues #21, #25) 2026-10-23 01:39:22 +08:00
neuron_compile.py Neuron: separate state regions, chunk-wide indexer context (issue #26) 2026-10-23 03:46:56 +08:00
NEURON_PORT.md Neuron: tiny model on a NeuronCore matches the reference (issues #1, #2, #4) 2026-10-21 13:22:59 +08:00
nki_attention.py Neuron table attention: decode only the blocks a decode step's requests reference 2026-10-25 17:58:11 +08:00
nki_gemm.py Neuron: block-quant GEMMs on both physical cores (grid 2); sync experiment knob (#27) 2026-10-23 11:08:05 +08:00
nki_hc.py Neuron: per-layer region graphs + vllm-neuron#71 NKI kernels (issues #10, #11, #13, #25) 2026-10-22 17:36:54 +08:00
nki_norm.py Neuron: full DeepSeek-V4.1-Flash load + decode region graphs at EP=64 (issues #21, #25) 2026-10-23 01:39:22 +08:00
nki_topk.py Neuron: nkilib rotational_topk for the sampler; single-host shared engram tables (#27) 2026-10-23 07:23:32 +08:00
op_census.py Neuron: compiled log-softmax + greedy argmax in the sampler; eager op census (#27) 2026-10-23 09:42:08 +08:00
regions.py Neuron DSpark: 6-row steps keep only coarse region splits (8 graphs a layer instead of 12) 2026-10-25 00:31:45 +08:00
static_moe.py Neuron DSpark: 6-row steps keep only coarse region splits (8 graphs a layer instead of 12) 2026-10-25 00:31:45 +08:00
transfer_to_neuron.py Neuron: static decode graphs, static-shape MoE, trn2 e4m3 fp8 (issues #9, #12, #24) 2026-10-22 11:59:37 +08:00