nx_gen_blockrun.nx
buildroot/runtime/nx_gen_blockrun.nx
about
nx_gen_blockrun.nx -- run a WHOLE DiT block sovereignly, end to end, and grade the output.
Takes ONLY the block input and the model weights. Every intermediate is computed by this organ
and fed to the next stage; no oracle tensor is read except the final reference.
WHY THIS EXISTS SEPARATELY FROM nx_gen_blockbench
The bench proves each op matches the oracle WHEN HANDED THE ORACLE'S INPUTS. That is necessary
and not sufficient: it says nothing about whether 17 chained ops stay on the rails, because
every stage there starts from a clean reference. ★ VERIFIED IS NOT ASSEMBLED. Error compounding
across a chain is a different question from per-op fidelity, and only this organ asks it.
Usage: nx_gen_blockrun <model_id> [n_workers]
All activations are kept as PACKED 4-byte f32, not i64-boxed floats, because that is the layout
__f32_i8dot32a consumes -- the quantized dot needs 32 contiguous f32 activations per block, so
packing is the kernel's requirement rather than a memory optimization.
Weights: projections read as RAW Q8_0 (int8 + per-block f16 scale, pre-decoded once); norms and
the adaLN vector read as f32.
license_tier: ORIGINAL
dependencies 13 imports · 0 importers
diagram shows first 10 each side; +3 more imports, +0 more importers in the complete lists below.
imports: nx_syscalls.nxnx_le.nxnx_f32.nxnx_f32_div.nxnx_f32_cvt.nxnx_f16.nxnx_f32_exp.nxnx_f32_activations.nxnx_strconv.nxnx_genfix.nxnx_genver.nxnx_genweights.nxnx_genblock.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 36 | const K_MAGIC_1000000: i64 = 1000000 |
functions
| 38 | func main(argc: i64, argv: *i64) -> i64 |