300 likes | 432 Views
Placer Suboptimality Evaluation Using Zero-Change Transformations. Sherief Reda. Andrew B. Kahng. VLSI CAD lab UCSD ECE and CSE Departments. Outline. The placement benchmarking problem Zero-change netlist transformation definition Using zero-change to quantify placer suboptimality
E N D
Placer Suboptimality Evaluation Using Zero-Change Transformations Sherief Reda Andrew B. Kahng VLSI CAD lab UCSD ECE and CSE Departments
Outline • The placement benchmarking problem • Zero-change netlist transformation definition • Using zero-change to quantify placer suboptimality • Zero-change netlist transformations: • Hyperedge cardinality increase • Hyperedge decomposition • Edge substitution • Impact on netlist characteristics • Experimental results and conclusions
Suboptimality gap (?) HPWL optimal (unknown) suboptimal Placement Problem Fact Slide Placement Problem:Given a netlist (hypergraph), find a non-overlapping arrangement for the components of the netlist on the layout area such that the total Half-Perimeter WireLength (HPWL) is minimized. Placement Problem Facts: • NP-hard • Optimal placements can only be found for few components • No approximation algorithms unless P = NP [Sahni76] must rely on heuristic algorithms
lower bound pre- calculated 1. Compute lower bounds [Donath68] 2. Compute pre-calculated HPWL values: • Scaling [HagenHK95] • Instances with known optimal HPWL (PEKO) [Cong et al. - method attributed to Boese] • Instances with known HPWL (PEKU) [Cong et al.] Suboptimality Evaluation Approaches Suboptimality gap HPWL optimal (unknown) suboptimal • Our method belongs to the second approach of pre-calculated values
placement k placement 1 L2 L1 HPWL Calculator HPWL Calculator hypergraph H1 hypergraph H1 = placement k placement 1 L3 L1 HPWL Calculator HPWL Calculator hypergraph H2 hypergraph H2 Quiescency property Hardness property A zero-change transformation has two properties: • Quiescency property: for the given placement 1 : L(H1, 1) = L(H2, 1) • Hardness property: for any other placement k : L(H1, k) L(H2, k) Zero-Change Transformations placement 1 hypergraph H2 =(V, E2) Zero-Change Transformation hypergraph H1=(V, E1)
hypergraph H2 =(V, E2) Zero-Change Transformation hypergraph H1=(V, E1) H2 HPWL Optimal H2 Zero-Change Transformations Impact placement 1 H1 HPWL Placements Optimal H1 1 Lemma 1: If H2 is obtained from H1 via zero-change transformations then the optimal placementHPWL of H2 is no less than that of H1
L1 HPWL Calculator netlist H2 zero-change transformations Placer P L2 HPWL Calculator • L1 is a pre-calculated HPWL value • Key question: how much L2 is different from L1? Suboptimality Evaluation Using Zero-Change Transformations L1 HPWL Calculator placement 1 netlist H1 Placer P
Suboptimality gap H2 suboptimal H2 optimal (unknown) • Effectively, zero-change transformations gives us a lower bound on the suboptimality gap of H2 Suboptimality Evaluation Using Zero-Change Transformations placement 1 hypergraph H2 =(V, E2) Zero-Change Transformation hypergraph H1=(V, E1) HPWL H1 suboptimal (H2) H1 optimal (unknown)
Suboptimality gap suboptimal Hk H3 optimal (unknown) H2 optimal (unknown) Hk optimal (unknown) Hk Composability of Zero-Change Transformations • What is the effect of applying k consecutive zero-change transformations? Still a zero-change transformation. suboptimal H1 optimal (unknown) H1 H2 H3
Zero-Change Netlist Transformations • Hyperedge Cardinality Increase • Increases the cardinality of hyperedges • Keeps the number of hyperedges constant • Hyperedge Decomposition • Increases the number of hyperedges • Decreases the cardinality of individual hyperedges • Edge Substitution • Increases the number of edges • Does not change the number of hyperedges
A B = C E D Placement 1 B D B D C C A A Placement k Placement k Hyperedge Cardinality Increase • Augment a hyperedge with a existing node within its bounding box if possible A B C D Placement 1 E E
Hyperedge Decomposition • Given a placement 1, decompose a hyperedge e if possible into two hyperedges e1 and e2 such that HPWL of e = HPWL of e1 + HPWL of e2 A B C D E F H G I Placement 1
e e e e1 e1 e1 e2 Contained e2 e2 Overlapping Touching Hyperedge Decomposition • In any other placement k there are only three possibilities: Max(HPWL e1, HPWL e2) HPWL of e (e1e2) HPWL of e1 + HPWL of e2
C B A Placement k Edge Substitution • Take an edge and substitute with two edges by using an additional existing node within the edge’s bounding box A C B Placement 1 Rectilinear dist between A and B Rectilinear dist between A and C + Rectilinear dist between C and B
Effect of Transformations on Basic Netlist Characteristics • We consider two basic characteristics: (1) total number of hyperedges and (2) total pin count • We want to consider a zero-change transformations flow that preserves these two characteristics as a sort of realism
Preprocess netlist netlist H1 L1 L1 HPWL Calculator HPWL Calculator netlist H2 Placer P zero-change transformations Placer P L2 HPWL Calculator Netlist Characteristics Preserving Transformations • Preprocess the netlist such that: amount of reduction in characteristics = amount of increase due to zero-change transformations netlist H1’
Experimental Testbed • Tools: • Capo (version 9.0) • FengShui (version 2.6) • Dragon (version 3.01) • mPL (version 4.0) • Benchmarks: • IBM (version 1): variable width cells • HPWL evaluators: • center-to-center
Results: Hyperedge Cardinality Increase • Suboptimality deviation due to 20% increase in total pin cardinality • Results are normalized with respect to each placement’s original HPWL • Poor handling of hyperedges probable cause for HPWL increase. More work onterminal propagation or hyperedge to clique/tree conversion can lead to substantial improvement
Capo Dragon FengShui mPL Hyperedge Cardinality Increase • Results on the ibm01 benchmark.
Results: Edge Substitution • Suboptimality deviation due to 10% edge substitutions. • Results are normalized with respect to each placement’s original HPWL. • Edge substitution increases # edges at no effect on hyperedge cardinality exemplifies the adverse impact of top-down sequential optimization • large amount of suboptimality with respect to edge substitution
Capo Dragon FengShui mPL Edge Substitution • Results on the ibm01 benchmark.
Results: Hyperedge Decomposition • Suboptimality deviation due to hyperedge decomposition • Results are normalized with respect to each placement’s original HPWL • Hyperedge decomposition transformation • potentially reduce the HPWL (from reduction in cardinality) • increase the HPWL (from increase in #hyperedges) • perhaps by tuning, the results of placers can improve
Results: Hybrid Transformations • Suboptimality deviation due to 5% hyperedge cardinality increase + 5% hyperedge decomposition + 5% edge substitutions • Results are normalized with respect to each placement’s original HPWL
Results: Preserving Characteristics • Transformed netlists have the same amount of nets and total cardinality as original nets • Netlists are preprocessed to reduce total cardinality and number of hyperedges by 10% then zero-change transformations follow • The suboptimal behavior of placers in response to zero-change transformations is not an artifact of the increase in netlist characteristics
Conclusions • Zero-change transformations yield useful suboptimality information using arbitrary benchmarks and placers • Create similar instances around a given instance to allow effective placer tuning • Given a netlist and a placement, can produce new netlist(s): (1) New HPWL = original HPWL on the given placement (2) New HPWL original HPWL on any other placement New Optimal HPWL Original Optimal HPWL • Three transformations: hyperedge cardinality, hyperedge decomposition and edge substitution • Lower bounds on the deviation from the optimal HPWL value • Embed zero-change transformations in a flow that preserves basic netlist characteristics • Extensive empirical results showing suboptimality results
Hard Easy Exact Non-dominating Netlist Transformation Classification • The outcome H2 of a netlist transformation on H1 can belong to one of possible four classes • Four output classes of netlist transformations: • Hard: For any given placement k: HPWL of H2 H1 • Easy: For any given placement k: HPWL of H2 H1 • Exact: For any given placement k: HPWL of H2 = H1 • Non-dominating: we can find two placements 1 and 2 such that HWPL of H2> H1 on 1 and H2 < H1 on 2
RMST/RSMT benchmarking • Suboptimality deviation with respect to RMST/RSMT. • Results are normalized with respect to each placement’s original RMST.
Input: A hypergraph H1(V, E1) Output: A hypergraph H2(V, E2) • E2 E1 • sort hyperedges E1descending using their HPWL • for each hyperedge e E1in order: • 2.1 find the set of nodes S that can be used for augmentation/decomposition/substitution • 2.2 identify the node v S that has the least degree • 2.3 use v to augment/decompose/substitute e • 4. return H2(V, E2) Netlist Transformations Procedure • Many sources for ties: • which hyperedge to augment/decompose/substitute? • which node to use in augmentation/decomposition/substitution?
Capo Dragon FengShui mPL Hyperedge Decomposition • Results on the ibm01 benchmark.