Skip to main content

max_routable_par_within

Function max_routable_par_within 

Source
pub fn max_routable_par_within(
    mp: &Metapipeline,
    buffer_words: &[usize],
    ag_stages: &[usize],
    t: &PlasticineTarget,
    budget: LinkBudget,
    upper: usize,
) -> Result<(usize, usize), Unplaceable>
Expand description

max_routable_par searching below upper (capped at capacity) — for an unroll that the work itself bounds below capacity (fewer outer iterations than instances). The search is a BISECTION over [1, upper]: routability is treated as monotone in the unroll (more instances, more perimeter streams), so the result is the widest unroll the bisection finds routable — a stalled negotiation at some intermediate width would hide a wider routable one, which is the honest limit of a heuristic router without the exact rung on the full problem.