`wai_ops::bounds` applies §8.1–§8.3 rule by rule in 512-bit arithmetic, saturating after every primitive operation and marking the node; classes each intermediate and producer result (§7.1), checks the parameter conditions (§7.2), finds the first failure and the accelerator verdict, and writes the certificate canonically (§8.5). Admissible ranges (§8.4) and the clamps they propose are there for `--advise`. `graph::load` now takes the implementation's profile and runs step 8: the pass, `lut16`'s range check, an empty `check` intersection, and the profile against the verdict. The `uncertified` switch is gone, with the generator's own tagger: the generator and the vector recomputation take `load` and `profiles` from the certifier, and reproduce every committed vector. Every set the corpus lowers now has its certificate beside its lowered graphs, and the two falsification sets of §14.3 (an int_synth set one unit past i64, and one whose pin claims acc32 and that is one weight past it) are generated, lowered and certified, listed in certificates/falsification.json. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
9.1 KiB
JSON
1 line
No EOL
9.1 KiB
JSON
{"capability":"wai.world.model","certificate":"wai-ops/1 bounds","graphs":[{"graph_sha256":"923c08d904902ca266a206d048d6960455d99f4fb9e9d29f632a8185ecb7765f","inputs":[{"hi":"9223372036854775807","kind":"data","lo":"-9223372036854775808","max_h":"0","max_w":"0","policy":"check","tensor":"0"}],"name":"T","nodes":[{"acc32_params":[],"fits":["acc64"],"index":"0","intermediates":{},"npu_flags":[],"op":"fill","out":[{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808","policy":"derived","result":{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808"},"tensor":"1"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"1","intermediates":{},"npu_flags":[],"op":"fill","out":[{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808","policy":"derived","result":{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808"},"tensor":"2"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"2","intermediates":{},"npu_flags":[],"op":"fill","out":[{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808","policy":"derived","result":{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808"},"tensor":"3"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"3","intermediates":{},"npu_flags":[],"op":"fill","out":[{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808","policy":"derived","result":{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808"},"tensor":"4"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"4","intermediates":{},"npu_flags":[],"op":"concat","out":[{"bits":"46","hi":"17880157638461","lo":"-17880157638461","policy":"check","result":{"bits":"64","hi":"9223372036854775807","lo":"-9223372036854775808"},"tensor":"5"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"5","intermediates":{"conv.acc":{"bits":"63","hi":"2989222634155548441","lo":"-2989222634155548441"},"conv.term":{"bits":"57","hi":"36600682685929667","lo":"-36600682685929667"},"rq.p":{"bits":"73","hi":"3872263095585531040515","lo":"-3872263095585531040515"},"rq.q":{"bits":"49","hi":"230804866289230","lo":"-230804866289231"},"rq.t":{"bits":"63","hi":"2989222634155548441","lo":"-2989222634155548441"},"rq.y":{"bits":"49","hi":"230804866289094","lo":"-230804866289367"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv","out":[{"bits":"49","hi":"230804866289094","lo":"-230804866289367","policy":"check","result":{"bits":"49","hi":"230804866289094","lo":"-230804866289367"},"tensor":"6"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"6","intermediates":{"leaky.p":{"bits":"58","hi":"-410","lo":"-94629995178640470"}},"npu_flags":[],"op":"leaky","out":[{"bits":"46","hi":"20860183911538","lo":"-20860183911538","policy":"check","result":{"bits":"49","hi":"230804866289094","lo":"-23103026166661"},"tensor":"7"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"7","intermediates":{"conv.acc":{"bits":"63","hi":"3366207877804887060","lo":"-3366207877804887060"},"conv.term":{"bits":"57","hi":"42700796466918286","lo":"-42700796466918286"},"rq.p":{"bits":"73","hi":"4183506629270255700072","lo":"-4183506629270255700072"},"rq.q":{"bits":"49","hi":"249356426553145","lo":"-249356426553146"},"rq.t":{"bits":"63","hi":"3366207877804887060","lo":"-3366207877804887060"},"rq.y":{"bits":"49","hi":"249356426553386","lo":"-249356426552905"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv","out":[{"bits":"49","hi":"249356426553386","lo":"-249356426552905","policy":"derived","result":{"bits":"49","hi":"249356426553386","lo":"-249356426552905"},"tensor":"8"}],"saturated":false},{"acc32_params":[],"fits":["acc32","acc64"],"index":"8","intermediates":{},"npu_flags":[],"op":"clamp","out":[{"bits":"14","hi":"4096","lo":"-4096","policy":"derived","result":{"bits":"14","hi":"4096","lo":"-4096"},"tensor":"9"}],"saturated":false}],"scalars":[{"hi":"9223372036854775807","index":"0","lo":"-9223372036854775808"},{"hi":"9223372036854775807","index":"1","lo":"-9223372036854775808"},{"hi":"9223372036854775807","index":"2","lo":"-9223372036854775808"},{"hi":"9223372036854775807","index":"3","lo":"-9223372036854775808"}]},{"graph_sha256":"e891e6c16c57a33e7998a6388d1981ec0b609937338e839dae727be4024058e1","inputs":[{"hi":"11733853450240","kind":"data","lo":"-11733853450240","max_h":"0","max_w":"0","policy":"check","tensor":"0"}],"name":"g_s","nodes":[{"acc32_params":[],"fits":["acc64"],"index":"0","intermediates":{"convT.acc":{"bits":"61","hi":"747505134047539200","lo":"-747505134047539200"},"convT.term":{"bits":"56","hi":"24019198012641280","lo":"-24019198012641280"},"rq.p":{"bits":"71","hi":"1154881245874626723840","lo":"-1154881245874626723840"},"rq.q":{"bits":"47","hi":"68836286418117","lo":"-68836286418118"},"rq.t":{"bits":"61","hi":"747505134047539200","lo":"-747505134047539200"},"rq.y":{"bits":"47","hi":"68836286418109","lo":"-68836286418126"}},"k_c":"0","mac":{"a_bits":["45"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"38","hi":"79494954953","lo":"-79494954953","policy":"check","result":{"bits":"47","hi":"68836286418109","lo":"-68836286418126"},"tensor":"1"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"1","intermediates":{"igdn.N":{"bits":"79","hi":"155096950720018892532062","lo":"0"},"igdn.gx2":{"bits":"90","hi":"616721236396032309570508519","lo":"0"},"igdn.r":{"bits":"40","hi":"393823501990","lo":"4481"},"igdn.term":{"bits":"74","hi":"9410419256531254723671","lo":"0"},"igdn.x2":{"bits":"74","hi":"6319447862979499232209","lo":"0"},"igdn.xr":{"bits":"76","hi":"31306981550127755856470","lo":"-31306981550127755856470"}},"k_c":"0","npu_flags":[],"op":"igdn","out":[{"bits":"45","hi":"11733853450240","lo":"-11733853450240","policy":"check","result":{"bits":"64","hi":"7643306042511659144","lo":"-7643306042511659145"},"tensor":"2"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"2","intermediates":{"convT.acc":{"bits":"61","hi":"669627548698296320","lo":"-669627548698296320"},"convT.term":{"bits":"56","hi":"24019198012641280","lo":"-24019198012641280"},"rq.p":{"bits":"71","hi":"974341466169087078400","lo":"-974341466169087078400"},"rq.q":{"bits":"47","hi":"58075276980941","lo":"-58075276980942"},"rq.t":{"bits":"61","hi":"669627548698296320","lo":"-669627548698296320"},"rq.y":{"bits":"47","hi":"58075276980954","lo":"-58075276980929"}},"k_c":"0","mac":{"a_bits":["45"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"38","hi":"76998216135","lo":"-76998216135","policy":"check","result":{"bits":"47","hi":"58075276980954","lo":"-58075276980929"},"tensor":"3"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"3","intermediates":{"igdn.N":{"bits":"78","hi":"139206082570665154676879","lo":"0"},"igdn.gx2":{"bits":"91","hi":"657365202479778746273711550","lo":"0"},"igdn.r":{"bits":"40","hi":"373103313534","lo":"4237"},"igdn.term":{"bits":"75","hi":"10030596961666545811061","lo":"0"},"igdn.x2":{"bits":"74","hi":"5928725287972174338225","lo":"0"},"igdn.xr":{"bits":"76","hi":"28728289576175602671090","lo":"-28728289576175602671090"}},"k_c":"0","npu_flags":[],"op":"igdn","out":[{"bits":"45","hi":"11733853450240","lo":"-11733853450240","policy":"check","result":{"bits":"64","hi":"7013742572308496745","lo":"-7013742572308496746"},"tensor":"4"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"4","intermediates":{"convT.acc":{"bits":"61","hi":"751037023936061440","lo":"-751037023936061440"},"convT.term":{"bits":"56","hi":"24019198012641280","lo":"-24019198012641280"},"rq.p":{"bits":"72","hi":"1451889483115377623040","lo":"-1451889483115377623040"},"rq.q":{"bits":"48","hi":"86539356894217","lo":"-86539356894218"},"rq.t":{"bits":"61","hi":"751037023936061440","lo":"-751037023936061440"},"rq.y":{"bits":"48","hi":"86539356894662","lo":"-86539356893773"}},"k_c":"0","mac":{"a_bits":["45"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"48","hi":"86539356894662","lo":"-86539356893773","policy":"derived","result":{"bits":"48","hi":"86539356894662","lo":"-86539356893773"},"tensor":"5"}],"saturated":false},{"acc32_params":[],"fits":["acc32","acc64"],"index":"5","intermediates":{},"npu_flags":[],"op":"clamp","out":[{"bits":"14","hi":"4096","lo":"0","policy":"derived","result":{"bits":"14","hi":"4096","lo":"0"},"tensor":"6"}],"saturated":false},{"acc32_params":[],"fits":["acc32","acc64"],"index":"6","intermediates":{"rq.p":{"bits":"21","hi":"1046528","lo":"0"},"rq.q":{"bits":"9","hi":"255","lo":"0"},"rq.t":{"bits":"14","hi":"4096","lo":"0"},"rq.y":{"bits":"9","hi":"255","lo":"0"}},"npu_flags":[],"op":"rescale","out":[{"bits":"9","hi":"255","lo":"0","policy":"derived","result":{"bits":"9","hi":"255","lo":"0"},"tensor":"7"}],"saturated":false}],"scalars":[]}],"lowering":"world/1","set_sha256":"34986fa89648e03500ade7804e9267adc860202c114bc567fa83ed5693bd38fb","verdict":{"acc32":false,"acc32_first_failure":{"bits":"64","graph":"T","index":"0","key":"range","where":"input"},"acc64":true,"npu":false,"npu_flags":["rq_floor_mult","rq_post_bias"],"npu_reasons":["acc32","op:igdn"]}} |