code wiki / _hdl_build / nx_mla_import_probe.nx

nx_mla_import_probe.nx source

↩ module page · 34 lines · 1339 B

1// nx_mla_import_probe.nx -- rule-2 probe: does importing the MLA organ (-> llm -> gguf/threadpool graph) 2// into an _hdl_build organ compile + run? Trivial MLA forward; exit 0 iff output is finite. Throwaway. 3import "nx_nofloat_mla.nx" 4import "nx_syscalls.nx" 5 6func main() -> i64 { 7 let T: i64 = 2 8 let D: i64 = 4 9 let LC: i64 = 2 10 let Q: i64 = 65536 11 let x: *i64 = sys_mmap(64*8) as *i64 12 let Wdkv: *i64 = sys_mmap(64*8) as *i64 13 let Wuk: *i64 = sys_mmap(64*8) as *i64 14 let Wuv: *i64 = sys_mmap(64*8) as *i64 15 let Wq: *i64 = sys_mmap(64*8) as *i64 16 let Wo: *i64 = sys_mmap(64*8) as *i64 17 let out: *i64 = sys_mmap(64*8) as *i64 18 let scr: *i64 = sys_mmap(512*8) as *i64 19 let c: *i64 = sys_mmap(64*8) as *i64 20 var i: i64 = 0 21 while i < 64 { x[i]=Q/2; Wdkv[i]=Q/4; Wuk[i]=Q/4; Wuv[i]=Q/4; Wq[i]=Q/4; Wo[i]=Q/4; i=i+1 } 22 let ap: *i64 = sys_mmap(16*8) as *i64 23 ap[0]=x as i64; ap[1]=out as i64; ap[2]=T; ap[3]=D; ap[4]=2; ap[5]=2; ap[6]=LC; ap[7]=46341 24 ap[8]=Wdkv as i64; ap[9]=Wuk as i64; ap[10]=Wuv as i64; ap[11]=Wq as i64; ap[12]=Wo as i64 25 ap[13]=scr as i64; ap[14]=c as i64 26 nmla_forward_latent(ap) 27 var ok: i64 = 0 28 var av: i64 = out[0] 29 if av < 0 { av = 0 - av } 30 if av < 1000000000 { ok = 0 } 31 if av >= 1000000000 { ok = 1 } 32 sys_exit(ok) 33 return ok 34}