Template Function sequant::opt::detail::pareto_insert_ceiling¶
Defined in File cost_model.hpp
Function Documentation¶
-
template<typename FP>
void sequant::opt::detail::pareto_insert_ceiling(container::vector<FP> &f, FP p, bool use_nsl)¶ Slice-count-aware Pareto insert for the perf-first batched frontier.
With
use_nsl== false this behaves as pareto_insert does (plain (peak, flops) domination;FP::nslis not consulted). Withuse_nsl== true (perf-first + a finite peak_threshold) the cumulative sliced-mode countFP::nslbecomes a third Pareto objective, so a point dominates only when it is no worse in peak, flops, and slice count. Because contracted slicing is flops-neutral, the unsliced realization (higher peak,nsl== 0) and a sliced one (lower peak,nsl> 0) are then Pareto- incomparable: both survive on the frontier, all the way to the root, so an ancestor that needs the lower-peak (sliced) subtree still has it and the root selection still has the unsliced one to pick when it fits the budget. select_root then chooses the least-sliced feasible schedule — no free slicing below the ceiling. (A per-flops peak/nsl trade-off keeps at most one point per distinct slice count, so the frontier stays bounded: slicing more modes monotonically lowers peak.) The peak-first path passes false and is unchanged.