code wiki / _hdl_build / nx_builder_quant.nx

nx_builder_quant.nx

buildroot/runtime/_hdl_build/nx_builder_quant.nx

2210 B33 linesdepth 4pulls 5 transitivereach 2 importersview sourcekind librarytopic builder
docsdependenciesstructsconstsfunctions

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

nx_engineer_profile.nx nx_quality_balance.nx nx_builder_quant.nx nx_qlayer_test.nx nx_quality_raci_test.nx

imports: nx_engineer_profile.nxnx_quality_balance.nx

imported by: nx_qlayer_test.nxnx_quality_raci_test.nx

structs

none

consts

none

functions

17func bld_select_operating_point(flops: i64, bytes: i64, peak_flops: i64, peak_bw: i64, n: i64, loss: *i64, bits10: *i64) -> i64
31func bld_lever_for(flops: i64, bytes: i64, peak_flops: i64, peak_bw: i64) -> i64