Struct RooflineParams¶
Defined in File options.hpp
Struct Documentation¶
-
struct RooflineParams¶
Roofline parameters for the peak objectives’ secondary (tie-break) cost. When
machine_balance> 0, the per-contraction tie-break cost becomes the roofline wall-time proxymax(flops, machine_balance * Q), where the data movementQ= max(operand+result footprint, block_prefactor * flops / sqrt(fast_mem_elems / block_tiles)) combines the compulsory single-pass traffic with the finite-cache (Hong-Kung) re-read bound. This charges bandwidth-bound contractions (e.g. single-PNO-index ones) their true memory traffic while leaving compute-bound (dense) contractions atflops, so it is inert in the dense case.machine_balance== 0 (default) recovers the pure-flop tie-break. See doc/dev/specs/2026-06-23-roofline-tiebreak-cost.md.Public Members
-
double machine_balance = 0.0¶
Machine balance beta = 8*F/B in FLOPs per element of traffic. 0 = off.
-
double fast_mem_elems = 0.0¶
Capacity M of the binding fast memory level, in elements (e.g. LLC/8).
-
double block_tiles = 3.0¶
Resident-tile count c0 in the blocking bound (b ~ sqrt(M/c0)); ~3 for the A,B,C tiles of a blocked GEMM. Calibratable.
-
double block_prefactor = 1.0¶
Prefactor kappa folding FMA/packing/BLAS constants into the re-read term.
-
double machine_balance = 0.0¶