`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.3 KiB
JSON
1 line
No EOL
9.3 KiB
JSON
{"capability":"wai.neural.int_mlicpp","certificate":"wai-ops/1 bounds","graphs":[{"graph_sha256":"02792c6954393fa05f413212ae22edfdce81394d3ebff250a37ef1f8eccff55e","inputs":[{"hi":"45057997248924","kind":"data","lo":"-45057997248924","max_h":"0","max_w":"0","policy":"check","tensor":"0"}],"name":"h_s","nodes":[{"acc32_params":[],"fits":["acc64"],"index":"0","intermediates":{"convT.acc":{"bits":"62","hi":"1916226507002239872","lo":"-1916226507002239872"},"convT.term":{"bits":"58","hi":"92233720368547428","lo":"-92233720368547428"},"rq.p":{"bits":"73","hi":"3075543543738594994560","lo":"-3075543543738594994560"},"rq.q":{"bits":"49","hi":"183316680415785","lo":"-183316680415786"},"rq.t":{"bits":"62","hi":"1916226507002239872","lo":"-1916226507002239872"},"rq.y":{"bits":"49","hi":"183316680415681","lo":"-183316680415890"}},"k_c":"0","mac":{"a_bits":["47"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"49","hi":"183316680415681","lo":"-183316680415890","policy":"derived","result":{"bits":"49","hi":"183316680415681","lo":"-183316680415890"},"tensor":"1"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"1","intermediates":{},"npu_flags":[],"op":"relu","out":[{"bits":"46","hi":"22528998624462","lo":"0","policy":"check","result":{"bits":"49","hi":"183316680415681","lo":"0"},"tensor":"2"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"2","intermediates":{"convT.acc":{"bits":"61","hi":"1020721340678499834","lo":"-1115793714873729474"},"convT.term":{"bits":"57","hi":"46116860184273714","lo":"-46116860184273714"},"rq.p":{"bits":"72","hi":"1170767377758239309598","lo":"-1276468009815546518256"},"rq.q":{"bits":"48","hi":"69783173665895","lo":"-76083422292206"},"rq.t":{"bits":"61","hi":"1020721340678499834","lo":"-1115793714873729474"},"rq.y":{"bits":"48","hi":"69783173665724","lo":"-76083422292240"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"48","hi":"69783173665724","lo":"-76083422292240","policy":"derived","result":{"bits":"48","hi":"69783173665724","lo":"-76083422292240"},"tensor":"3"}],"saturated":false}],"scalars":[]},{"graph_sha256":"0757e26ba88fedefe1e88ea08cf0b6e2dd53c84b651b4b6bd9d6b3686a901314","inputs":[{"hi":"7509666208154","kind":"data","lo":"-7509666208154","max_h":"0","max_w":"0","policy":"check","tensor":"0"}],"name":"entropy","nodes":[{"acc32_params":[],"fits":["acc64"],"index":"0","intermediates":{"conv.acc":{"bits":"64","hi":"4693398696438295074","lo":"-4693398696438295074"},"conv.term":{"bits":"55","hi":"15372286728091238","lo":"-15372286728091238"},"rq.p":{"bits":"73","hi":"2975614773541879076916","lo":"-2975614773541879076916"},"rq.q":{"bits":"49","hi":"177360461565368","lo":"-177360461565369"},"rq.t":{"bits":"64","hi":"4693398696438295074","lo":"-4693398696438295074"},"rq.y":{"bits":"49","hi":"177360461565252","lo":"-177360461565485"}},"k_c":"0","mac":{"a_bits":["44"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv","out":[{"bits":"49","hi":"177360461565252","lo":"-177360461565485","policy":"check","result":{"bits":"49","hi":"177360461565252","lo":"-177360461565485"},"tensor":"1"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"1","intermediates":{"leaky.p":{"bits":"58","hi":"-655","lo":"-116171102325392675"}},"npu_flags":[],"op":"leaky","out":[{"bits":"49","hi":"177360461565252","lo":"-1772630345542","policy":"check","result":{"bits":"49","hi":"177360461565252","lo":"-1772630345542"},"tensor":"2"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"2","intermediates":{"conv.acc":{"bits":"63","hi":"2693073932462816518","lo":"-2751382144940963184"},"conv.term":{"bits":"60","hi":"363056864824070844","lo":"-363056864824070844"},"rq.p":{"bits":"74","hi":"5703930588956245385124","lo":"-5808167707970373281424"},"rq.q":{"bits":"50","hi":"339980756578221","lo":"-346193773029469"},"rq.t":{"bits":"63","hi":"2693073932462816518","lo":"-2751382144940963184"},"rq.y":{"bits":"50","hi":"339980756619279","lo":"-346193773029369"}},"k_c":"0","mac":{"a_bits":["49"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv","out":[{"bits":"50","hi":"339980756619279","lo":"-346193773029369","policy":"derived","result":{"bits":"50","hi":"339980756619279","lo":"-346193773029369"},"tensor":"3"}],"saturated":false}],"scalars":[]},{"graph_sha256":"873760630947209dcaf216323954ec358f742df915acb7d645aa5f59d0c611fa","inputs":[{"hi":"22528998624462","kind":"data","lo":"-22528998624462","max_h":"0","max_w":"0","policy":"check","tensor":"0"}],"name":"g_s","nodes":[{"acc32_params":[],"fits":["acc64"],"index":"0","intermediates":{"convT.acc":{"bits":"62","hi":"1819058935934935266","lo":"-1819058935934935266"},"convT.term":{"bits":"57","hi":"46116860184273714","lo":"-46116860184273714"},"rq.p":{"bits":"72","hi":"1826335171678675007064","lo":"-1826335171678675007064"},"rq.q":{"bits":"48","hi":"108858059148709","lo":"-108858059148710"},"rq.t":{"bits":"62","hi":"1819058935934935266","lo":"-1819058935934935266"},"rq.y":{"bits":"48","hi":"108858059148717","lo":"-108858059148702"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"39","hi":"196507649010","lo":"-196507649010","policy":"check","result":{"bits":"48","hi":"108858059148717","lo":"-108858059148702"},"tensor":"1"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"1","intermediates":{"igdn.N":{"bits":"74","hi":"7868471225265009676159","lo":"0"},"igdn.gx2":{"bits":"89","hi":"302782223232508292557964100","lo":"0"},"igdn.r":{"bits":"38","hi":"88704403640","lo":"4131"},"igdn.term":{"bits":"73","hi":"4620090076179630928924","lo":"0"},"igdn.x2":{"bits":"77","hi":"38615256119437353980100","lo":"0"},"igdn.xr":{"bits":"75","hi":"17431093816130486396400","lo":"-17431093816130486396400"}},"k_c":"0","npu_flags":[],"op":"igdn","out":[{"bits":"46","hi":"22528998624462","lo":"-22528998624462","policy":"check","result":{"bits":"63","hi":"4255638138703732030","lo":"-4255638138703732031"},"tensor":"2"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"2","intermediates":{"convT.acc":{"bits":"62","hi":"1892345768460310152","lo":"-1892345768460310152"},"convT.term":{"bits":"57","hi":"46116860184273714","lo":"-46116860184273714"},"rq.p":{"bits":"72","hi":"1879099348081087980936","lo":"-1879099348081087980936"},"rq.q":{"bits":"48","hi":"112003049140041","lo":"-112003049140042"},"rq.t":{"bits":"62","hi":"1892345768460310152","lo":"-1892345768460310152"},"rq.y":{"bits":"48","hi":"112003049140021","lo":"-112003049140062"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"39","hi":"196413780387","lo":"-196413780387","policy":"check","result":{"bits":"48","hi":"112003049140021","lo":"-112003049140062"},"tensor":"3"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"3","intermediates":{"igdn.N":{"bits":"74","hi":"8133504966441901325974","lo":"0"},"igdn.gx2":{"bits":"89","hi":"303071699277169903072905264","lo":"0"},"igdn.r":{"bits":"38","hi":"90185946612","lo":"4152"},"igdn.term":{"bits":"73","hi":"4624507130083769272963","lo":"0"},"igdn.x2":{"bits":"77","hi":"38578373125912665869769","lo":"0"},"igdn.xr":{"bits":"75","hi":"17713762711843074698844","lo":"-17713762711843074698844"}},"k_c":"0","npu_flags":[],"op":"igdn","out":[{"bits":"46","hi":"22528998624462","lo":"-22528998624462","policy":"check","result":{"bits":"63","hi":"4324649099571063158","lo":"-4324649099571063159"},"tensor":"4"}],"saturated":false},{"acc32_params":[],"fits":["acc64"],"index":"4","intermediates":{"convT.acc":{"bits":"62","hi":"1972143481588154556","lo":"-1972143481588154556"},"convT.term":{"bits":"57","hi":"46116860184273714","lo":"-46116860184273714"},"rq.p":{"bits":"69","hi":"234685074308990392164","lo":"-234685074308990392164"},"rq.q":{"bits":"45","hi":"13988320488273","lo":"-13988320488274"},"rq.t":{"bits":"62","hi":"1972143481588154556","lo":"-1972143481588154556"},"rq.y":{"bits":"45","hi":"13988320490416","lo":"-13988320486131"}},"k_c":"0","mac":{"a_bits":["46"],"w_bits":"12"},"npu_flags":["rq_floor_mult","rq_post_bias"],"op":"conv_transpose","out":[{"bits":"45","hi":"13988320490416","lo":"-13988320486131","policy":"derived","result":{"bits":"45","hi":"13988320490416","lo":"-13988320486131"},"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":"wmb1/1","set_sha256":"7ef44f3b1fc4a2df6c3e3b68460f595cae3d31cb7f9018699e29e738340272a4","verdict":{"acc32":false,"acc32_first_failure":{"bits":"47","graph":"h_s","index":"0","key":"range","where":"input"},"acc64":true,"npu":false,"npu_flags":["rq_floor_mult","rq_post_bias"],"npu_reasons":["acc32","op:igdn"]}} |