Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda 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: 1.Hyperedge cardinality increase 2.Hyperedge decomposition 3.Edge substitution Impact on netlist characteristics Experimental results and conclusions
Placement Problem Fact Slide optimal (unknown) suboptimal Suboptimality gap (?) HPWL NP-hard Optimal placements can only be found for few components No approximation algorithms unless P = NP [Sahni76] must rely on heuristic algorithms Placement Problem Facts: 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.
Suboptimality Evaluation Approaches optimal (unknown) suboptimal Suboptimality gap HPWL lower bound 1. Compute lower bounds [Donath68] Our method belongs to the second approach of pre-calculated values pre- calculated 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.]
Zero-Change Transformations hypergraph H 1 =(V, E 1 ) placement 1 Zero-Change Transformation hypergraph H 2 =(V, E 2 ) A zero-change transformation has two properties: Quiescency property: for the given placement 1 : L(H 1, 1 ) = L(H 2, 1 ) HPWL Calculator hypergraph H 1 placement 1 HPWL Calculator hypergraph H 2 placement 1 L1L1 L1L1 = Quiescency propertyHardness property HPWL Calculator hypergraph H 1 placement k HPWL Calculator hypergraph H 2 placement k L2L2 L3L3 Hardness property: for any other placement k : L(H 1, k ) L(H 2, k )
Zero-Change Transformations Impact Placements H 1 HPWL placement 1 hypergraph H 1 =(V, E 1 ) Zero-Change Transformation hypergraph H 2 =(V, E 2 ) 11 Optimal H 1 Lemma 1: If H 2 is obtained from H 1 via zero-change transformations then the optimal placement HPWL of H 2 is no less than that of H 1 Optimal H 2 H 2 HPWL
Suboptimality Evaluation Using Zero- Change Transformations HPWL Calculator Placer P netlist H 1 L1L1 zero-change transformations netlist H 2 HPWL Calculator L1L1 L 1 is a pre-calculated HPWL value placement 1 Placer P HPWL Calculator L2L2 Key question: how much L 2 is different from L 1 ?
Suboptimality Evaluation Using Zero- Change Transformations H 1 optimal (unknown) H 1 suboptimal H 2 optimal (unknown) Suboptimality gap HPWL Effectively, zero-change transformations gives us a lower bound on the suboptimality gap of H 2 H 2 suboptimal (H 2 ) hypergraph H 1 =(V, E 1 ) placement 1 Zero-Change Transformation hypergraph H 2 =(V, E 2 )
Composability of Zero-Change Transformations H 1 optimal (unknown) suboptimal What is the effect of applying k consecutive zero-change transformations? Still a zero-change transformation. H 2 optimal (unknown) H 3 optimal (unknown) H2H2 H3H3 H1H1 HkHk H k optimal (unknown) suboptimal H k Suboptimality gap
Zero-Change Netlist Transformations 1.Hyperedge Cardinality Increase Increases the cardinality of hyperedges Keeps the number of hyperedges constant 2.Hyperedge Decomposition Increases the number of hyperedges Decreases the cardinality of individual hyperedges 3.Edge Substitution Increases the number of edges Does not change the number of hyperedges
Hyperedge Cardinality Increase Augment a hyperedge with a existing node within its bounding box if possible A B C D Placement 1 E A B C D = A B C D Placement k E E A B C D
Hyperedge Decomposition Given a placement 1, decompose a hyperedge e if possible into two hyperedges e 1 and e 2 such that HPWL of e = HPWL of e 1 + HPWL of e 2 B A C D E F H G I Placement 1
Hyperedge Decomposition In any other placement k there are only three possibilities: Max(HPWL e 1, HPWL e 2 ) HPWL of e (e 1 e 2 ) HPWL of e 1 + HPWL of e 2 e1e1 e2e2 e Contained e2e2 e1e1 e Overlapping e1e1 e2e2 e Touching
Edge Substitution Take an edge and substitute with two edges by using an additional existing node within the edge’s bounding box Placement 1 B Rectilinear dist between A and B Rectilinear dist between A and C + Rectilinear dist between C and B A C Placement k A B C
Effect of Transformations on Basic Netlist Characteristics Transformation/ Effect Change in #Hyperedges Change in #Total Pin Count Hyperedge Cardinality Increase 0+1 Hyperedge Decomposition +1 Edge Substitution+1+2 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
Netlist Characteristics Preserving Transformations netlist H 1 ’ HPWL Calculator Placer P L1L1 HPWL Calculator L1L1 Placer P HPWL Calculator L2L2 zero-change transformations netlist H 2 Preprocess netlist H 1 Preprocess the netlist such that: amount of reduction in characteristics = amount of increase due to zero-change transformations
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 on terminal propagation or hyperedge to clique/tree conversion can lead to substantial improvement
Hyperedge Cardinality Increase Results on the ibm01 benchmark. CapoDragonFengShuimPL
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
Edge Substitution Results on the ibm01 benchmark. CapoDragonFengShuimPL
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
Thank You
Netlist Transformation Classification HardEasy Exact Non-dominating Four output classes of netlist transformations: Hard: For any given placement k : HPWL of H 2 H 1 Easy: For any given placement k : HPWL of H 2 H 1 Exact: For any given placement k : HPWL of H 2 = H 1 Non-dominating: we can find two placements 1 and 2 such that HWPL of H 2 > H 1 on 1 and H 2 < H 1 on 2 The outcome H 2 of a netlist transformation on H 1 can belong to one of possible four classes
RMST/RSMT benchmarking Suboptimality deviation with respect to RMST/RSMT. Results are normalized with respect to each placement’s original RMST.
Netlist Transformations Procedure Many sources for ties: which hyperedge to augment/decompose/substitute? which node to use in augmentation/decomposition/substitution? Input: A hypergraph H 1 (V, E 1 ) Output: A hypergraph H 2 (V, E 2 ) 1.E 2 E 1 2.sort hyperedges E 1 descending using their HPWL 3.for each hyperedge e E 1 in 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 H 2 (V, E 2 )
Hyperedge Decomposition Results on the ibm01 benchmark. CapoDragonFengShuimPL