code wiki / _hdl_build / nx_nofloat_bench.nx
nx_nofloat_bench.nx
buildroot/runtime/_hdl_build/nx_nofloat_bench.nx
about
nx_nofloat_bench.nx -- CAP-NF-BENCH: HONEST measured benchmark of our no-float Q16 stack vs the Unsloth-class
incumbents (efficient LLM training/inference: Unsloth, QLoRA, GPTQ, AWQ, LLM.int8/bitsandbytes, llama.cpp).
Competitor claims are GROUNDED in the sovereign-researcher corpus (knowledge/fetched/eff_*.raw, 12/12 live):
Unsloth 2-5x faster / 50-80% less VRAM (GPU+PyTorch+Triton); QLoRA 4-bit / 65B on 48GB GPU; GPTQ 3-4 bit
"negligible" loss (GPU); LLM.int8 = 8-bit; float arithmetic is NON-ASSOCIATIVE (eff_float.raw).
We report a per-axis EXCEED/PARITY/BEHIND scorecard, each axis tied to a REAL organ result (liar-kill), and we
MEASURE the headline exceed (determinism) concretely. NO-WAVE: we EXCEED on the design-goal axes and are
honestly BEHIND on scale/throughput/ecosystem (a different design point) -- not a floor-claim.
T1 MEASURED determinism exceed: our integer reduction is ORDER-INVARIANT (fwd==rev, diff=0) while a float-sim
reduction is ORDER-DEPENDENT (diff>0) -> bit-exact reproducibility the float incumbents cannot guarantee.
T2 HONESTY (anti-wave): the scorecard marks >=2 axes BEHIND (we do NOT claim exceed everywhere).
T3 GROUNDED: every EXCEED axis is backed by a real on-disk organ (determinism/quant/sovereign-base exist).
expect_exit: 0 Sovereign: nx_syscalls only (this benchmark itself uses ZERO float ops -- that IS axis 2).
dependencies 1 imports · 0 importers
imports: nx_syscalls.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
| 15 | const K_MAGIC_1048576: i64 = 1048576 |
functions
| 17 | func g_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 18 | func g_pn(v: i64) -> i64 { let b: *u8=sys_mmap(28); var x: i64=v; if x<0{b[0]=45;sys_write(1,b,1);x=0-x} if x==0{b[0]=48;sys_write(1,b,1);return 0} var d: i64=0; var y: i64=x; while y>0{d=d+1;y=y/10} var i: i64=d-1; y=x; while i>=0{b[i]=(48+(y%10)) as u8;y=y/10;i=i-1} sys_write(1,b,d); return 0 } |
| 19 | func g_check(name: *u8, cond: i64) -> i64 { if cond==1 { g_puts(" PASS " as *u8) } else { g_puts(" FAIL " as *u8) } g_puts(name); g_puts("\n" as *u8); return cond } |
| 20 | func have_file(path: *u8) -> i64 { let fd: i64=sys_openat_rd(path); if fd<0 { return 0 } sys_close(fd); return 1 } |
| 21 | func iabs(x: i64) -> i64 { if x<0 { return 0-x } return x } called by 1: main |
| 22 | func hibit(a: i64) -> i64 { var p: i64=0; var t: i64=a; while t>1 { t=t>>1; p=p+1 } return p } called by 1: ftrunc |
| 24 | func ftrunc(x: i64, mant: i64) -> i64 |
| 33 | func isum(v: *i64, n: i64, dir: i64) -> i64 called by 1: main |
| 39 | func fsum(v: *i64, n: i64, dir: i64, mant: i64) -> i64 |
| 44 | func axis(name: *u8, ours: *u8, them: *u8, verdict: *u8) -> i64 |
| 48 | func main() -> i64 |