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
..
_C initial commit 2026-10-20 12:09:42 +08:00
distributed initial commit 2026-10-20 12:09:42 +08:00
engine Neuron: sampling flags read once a step; runtime profiling on the driver only; one-lookup embedding 2026-10-25 03:52:47 +08:00
entrypoints initial commit 2026-10-20 12:09:42 +08:00
hugging_face Neuron: concatenate FP8 checkpoint tensors as bytes (fixes MoE on device) 2026-10-21 11:46:58 +08:00
model_executor Neuron: eager embedding/gather without dtype casts or host scalar operands 2026-10-25 06:55:43 +08:00
neuron_ops Neuron table attention: decode only the blocks a decode step's requests reference 2026-10-25 17:58:11 +08:00
npu_ops initial commit 2026-10-20 12:09:42 +08:00
structure_output initial commit 2026-10-20 12:09:42 +08:00
ve initial commit 2026-10-20 12:09:42 +08:00
worker Neuron table attention: decode only the blocks a decode step's requests reference 2026-10-25 17:58:11 +08:00
__init__.py Neuron basic mode: try prefill on every step 2026-10-21 21:00:54 +08:00
attrdict.py initial commit 2026-10-20 12:09:42 +08:00
config.py initial commit 2026-10-20 12:09:42 +08:00
environ.py Neuron DSpark: draft sampling as one region graph for greedy rows; token embedding on device by default 2026-10-25 06:06:50 +08:00
load_class.py initial commit 2026-10-20 12:09:42 +08:00
logger.py initial commit 2026-10-20 12:09:42 +08:00
model_config_loader.py initial commit 2026-10-20 12:09:42 +08:00
multimodal_tokens.py initial commit 2026-10-20 12:09:42 +08:00
platform.py Neuron: static decode graphs, static-shape MoE, trn2 e4m3 fp8 (issues #9, #12, #24) 2026-10-22 11:59:37 +08:00
py.typed initial commit 2026-10-20 12:09:42 +08:00
sampling_params.py initial commit 2026-10-20 12:09:42 +08:00
sequence.py initial commit 2026-10-20 12:09:42 +08:00
shared_memory.py initial commit 2026-10-20 12:09:42 +08:00
testing.py initial commit 2026-10-20 12:09:42 +08:00
timer.py initial commit 2026-10-20 12:09:42 +08:00
utils.py Neuron basic mode — part 3: end-to-end check vs the official reference 2026-10-20 20:20:02 +08:00