code wiki / _hdl_build / nx_builder_quant.nx
nx_builder_quant.nx
buildroot/runtime/_hdl_build/nx_builder_quant.nx
about
nx_builder_quant.nx -- the BUILDER's operating-point decision (RACI: the Builder ARCHITECTS the
approach, using the Engineer's diagnosis and the Council's quality policy -- it does not measure
or set the policy, it DECIDES under them). Given a kernel and a menu of quantization options, the
Builder:
1. asks the ENGINEER which constraint binds (memory vs compute);
2. if MEMORY-bound, trading bytes for speed pays -> pick the QUALITY-BALANCED option (Council
floor + quality-slightly-over-speed weighting). NOT the smallest/fastest -- the balanced one.
3. if COMPUTE-bound, fewer bytes won't help (the lever is the inner loop / search governor), so
DON'T sacrifice quality for size -- keep the HIGHEST-QUALITY option and let compute-opt do
the speed. (Balance, with quality favoured, in both regimes.)
license_tier: ORIGINAL
dependencies 2 imports · 2 importers
imports: nx_engineer_profile.nxnx_quality_balance.nx
imported by: nx_qlayer_test.nxnx_quality_raci_test.nx
structs
| none |
consts
| none |
functions
| 17 | func bld_select_operating_point(flops: i64, bytes: i64, peak_flops: i64, peak_bw: i64, n: i64, loss: *i64, bits10: *i64) -> i64 |
| 31 | func bld_lever_for(flops: i64, bytes: i64, peak_flops: i64, peak_bw: i64) -> i64 |