code wiki / _hdl_build / nx_intfp_moe_gradcheck_gate.nx

nx_intfp_moe_gradcheck_gate.nx

buildroot/runtime/_hdl_build/nx_intfp_moe_gradcheck_gate.nx

8235 B116 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind gate/prooftopic intfp
docsdependenciesstructsconstsfunctions

about

nx_intfp_moe_gradcheck_gate.nx -- 2026 FRONTIER capability in the sovereign integer stack: MIXTURE-OF-EXPERTS routing, gradchecked, NO float. MoE is UNIVERSAL in 2026 (DeepSeek/Qwen/Llama/GLM/Kimi all MoE). The novel part vs a dense FFN is ROUTING: router logits -> top-K experts -> softmax gate over the selected -> weighted expert sum, with the gradient flowing back THROUGH the gate softmax INTO the router. Experts here are linear (the SwiGLU expert is already proven) so the gate focuses on the routing mechanism. Q20 integer, integer finite-diff gradcheck (max-|grad| metric) on the ROUTER Wr (the frontier novelty) AND an expert We. license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_intfp_moe_gradcheck_gate.nx

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

main w sys_write sys_mmap moe_fwd fp_exp moe_bwd wn sys_write ↻ sys_mmap ↻ gcheck iabs moe_fwd ↻ w ↻ wn ↻

structs

none

consts

13const S: i64 = 1048576 // Q20
14const T: i64 = 3
15const DM: i64 = 6
16const NE: i64 = 4 // experts

functions

9func w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: gcheckmain calls 1: sys_write
10func wn(v: i64) -> i64 { if v==0 { sys_write(1,"0" as *u8,1); return 0 } var m: i64=v; if m<0{sys_write(1,"-" as *u8,1);m=0-m} let t: *u8=sys_mmap(24); var k: i64=0; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} let o: *u8=sys_mmap(24); var q: i64=k-1; var i: i64=0; while q>=0{o[i]=t[q];i=i+1;q=q-1} sys_write(1,o,i); return 0 }
called by 2: gcheckmain calls 2: sys_writesys_mmap
11func iabs(v: i64) -> i64 { if v<0 { return 0-v } return v }
called by 1: gcheck
19func fp_exp(xq: i64) -> i64 { let y: i64=(xq*1512776)/S; var yi: i64=0; if y>=0 { yi=y/S } else { yi=0-(((0-y)+S-1)/S) } let yf: i64=y-yi*S; var p: i64=10085; p=58197+(p*yf)/S; p=251882+(p*yf)/S; p=726817+(p*yf)/S; p=S+(p*yf)/S; if yi>=0 { if yi>=31 { return 2000000000 } return p*(1<<yi) } let k: i64=0-yi; if k>=31 { return 0 } return p/(1<<k) }
called by 1: moe_fwd
23func moe_fwd(P: *i64) -> i64
called by 2: gcheckmain calls 1: fp_exp
49func moe_bwd(P: *i64) -> i64
called by 1: main
74func gcheck(name: *u8, P: *i64, Wt: *i64, dW: *i64, ncell: i64) -> i64
called by 1: main calls 4: iabsmoe_fwdwwn
92func main() -> i64