Placer Suboptimality Evaluation Using Zero-Change Transformations
description
Transcript of Placer Suboptimality Evaluation Using Zero-Change Transformations
![Page 1: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/1.jpg)
Placer Suboptimality Evaluation Using Zero-Change Transformations
Andrew B. Kahng Sherief RedaVLSI CAD lab
UCSD ECE and CSE Departments
![Page 2: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/2.jpg)
Outline
The placement benchmarking problem
Zero-change netlist transformation definition
Using zero-change to quantify placer suboptimality
Zero-change netlist transformations:1. Hyperedge cardinality increase2. Hyperedge decomposition3. Edge substitution
Impact on netlist characteristics Experimental results and conclusions
![Page 3: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/3.jpg)
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.
![Page 4: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/4.jpg)
Suboptimality Evaluation Approaches
optimal(unknown)
suboptimal
Suboptimality gapHPWL
lowerbound
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.]
![Page 5: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/5.jpg)
Zero-Change Transformations
hypergraph H1=(V, E1)
placement 1
Zero-ChangeTransformation
hypergraph H2 =(V, E2)
A zero-change transformation has two properties: Quiescency property: for the given placement 1 : L(H1, 1) = L(H2, 1)
HPWL Calculatorhypergraph H1
placement 1
HPWL Calculatorhypergraph H2
placement 1
L1
L1
=
Quiescency property Hardness property
HPWL Calculatorhypergraph H1
placement k
HPWL Calculatorhypergraph H2
placement k
L2
L3
Hardness property: for any other placement k : L(H1, k) L(H2, k)
![Page 6: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/6.jpg)
Zero-Change Transformations Impact
Placements
H1 HPWL
placement 1
hypergraph H1=(V, E1)Zero-Change
Transformation
hypergraph H2 =(V, E2)
1Optimal
H1
Lemma 1: If H2 is obtained from H1 via zero-change transformations then the optimal placement HPWL of H2
is no less than that of H1
Optimal H2
H2 HPWL
![Page 7: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/7.jpg)
Suboptimality Evaluation Using Zero-Change Transformations
HPWL Calculator
Placer P netlist
H1
L1
zero-change transformations
netlist H2
HPWL Calculator
L1
L1 is a pre-calculated HPWL value
placement 1
Placer P HPWL Calculator
L2
Key question: how much L2 is different from L1?
![Page 8: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/8.jpg)
Suboptimality Evaluation Using Zero-Change Transformations
H1 optimal (unknown)
H1 suboptimal
H2 optimal (unknown)
Suboptimality gap
HPWL
Effectively, zero-change transformations gives us a lower bound on the suboptimality gap of H2
H2 suboptimal
(H2)
hypergraph H1=(V, E1)
placement 1
Zero-ChangeTransformation
hypergraph H2 =(V, E2)
![Page 9: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/9.jpg)
Composability of Zero-Change Transformations
H1 optimal (unknown)
suboptimal
What is the effect of applying k consecutive zero-change transformations? Still a zero-change transformation.
H2 optimal (unknown)
H3 optimal (unknown)
H2
H3
H1
Hk
Hk optimal (unknown)
suboptimalHk
Suboptimality gap
![Page 10: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/10.jpg)
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
![Page 11: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/11.jpg)
Hyperedge Cardinality Increase Augment a hyperedge with a existing node within its bounding box if possible
AB
C
D
Placement 1
E
AB
C
D
Placement 1
=
A
B
C
D
Placement k
E
E
A
B
C
D
Placement k
![Page 12: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/12.jpg)
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
B
A
C
D
E
FH
G
I
Placement 1
![Page 13: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/13.jpg)
Hyperedge Decomposition
In any other placement k there are only three possibilities:
Max(HPWL e1, HPWL e2) HPWL of e (e1 e2) HPWL of e1 + HPWL of e2
e1
e2
e
Contained e2
e1
e
Overlapping
e1
e2
e
Touching
![Page 14: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/14.jpg)
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
![Page 15: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/15.jpg)
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 +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
![Page 16: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/16.jpg)
Netlist Characteristics Preserving Transformations
netlist H1’
HPWL Calculator
Placer P
L1
HPWL Calculator
L1
Placer P HPWL Calculator
L2zero-change
transformations
netlist H2
Preprocess netlist
netlist H1
Preprocess the netlist such that: amount of reduction in characteristics = amount of increase due to zero-change transformations
![Page 17: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/17.jpg)
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
![Page 18: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/18.jpg)
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
Capo FS Dragon mPL Capo FS Dragon mPLibm01 9.72% 5.55% 20.43% 7.28% ibm10 11.02% 3.43% 12.90% 11.22%ibm02 10.55% 6.79% - 10.31% ibm11 22.49% 5.40% 17.98% 24.42%ibm03 13.17% 3.63% 6.67% 5.38% ibm12 4.14% 3.71% 11.14% 22.49%ibm04 12.53% 3.86% 16.26% 8.72% ibm13 6.02% 4.33% 7.43% 6.10%ibm05 3.75% 1.50% 2.84% 4.01% ibm14 16.73% 3.18% 15.80% 12.34%ibm06 4.48% 3.66% 15.71% 13.74% ibm15 9.97% 3.03% 9.04% 12.71%ibm07 8.30% 3.61% 16.85% 5.50% ibm16 5.30% 7.89% 29.11% 18.38%ibm08 5.48% 9.34% 7.97% 9.48% ibm17 11.69% 4.87% 17.09% 14.18%ibm09 10.52% 8.93% 24.51% 7.54% ibm18 7.22% 3.54% 20.29% 16.10%
Average 9.62% 4.79% 14.82% 11.66%
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
![Page 19: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/19.jpg)
Hyperedge Cardinality Increase
Results on the ibm01 benchmark.
Capo Dragon FengShui mPL
4.5
4.7
4.9
5.1
5.3
5.5
5.7
5.9
0 5 10 15 20 25
Total Cardinality Increase (Perc %)
HP
WL
(x1
08 )
![Page 20: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/20.jpg)
Results: Edge Substitution
Capo FS Dragon mPL Capo FS Dragon mPLibm01 5.24% 6.09% 11.85% 5.76% ibm10 7.78% 3.80% 9.53% 3.90%ibm02 5.99% 8.35% - 8.36% ibm11 10.34% 5.93% 16.57% 16.20%ibm03 8.66% 3.44% 4.67% 1.64% ibm12 5.38% 4.00% 8.62% 9.16%ibm04 6.47% 4.83% 3.72% 10.61% ibm13 9.86% 5.81% 7.91% 14.50%ibm05 2.38% 1.13% 1.99% 1.60% ibm14 14.27% 12.03% 13.54% 12.94%ibm06 4.59% 2.62% 6.65% 4.90% ibm15 3.49% 2.83% 8.97% 11.27%ibm07 5.50% 4.14% 7.68% 3.46% ibm16 8.50% 5.27% 9.08% 9.54%ibm08 5.57% 2.13% 7.18% 4.54% ibm17 6.63% 5.24% 11.02% 5.94%ibm09 9.48% 7.05% 12.64% 5.12% ibm18 9.64% 3.40% 10.74% 6.60%
Average 7.21% 4.89% 8.96% 7.56%
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
![Page 21: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/21.jpg)
Edge Substitution
Results on the ibm01 benchmark.
Capo Dragon FengShui mPL
4.44.54.64.74.84.9
55.15.25.35.4
0 5 10 15 20 25
Total Edge Increase (Perc %)
HP
WL
(x10
8 )
![Page 22: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/22.jpg)
Results: Hyperedge Decomposition
Capo FS Dragon mPL Capo FS Dragon mPLibm01 4.69% - 3.52% 0.17% ibm10 8.64% 3.37% 6.90% 9.45%ibm02 2.08% 6.75% 18.83% 3.30% ibm11 2.61% -0.78% 2.95% 0.37%ibm03 2.19% 1.83% 2.12% 0.30% ibm12 3.49% 2.90% 0.73% 0.84%ibm04 2.17% 3.54% -0.20% -3.15% ibm13 3.64% 2.15% 3.09% 1.08%ibm05 7.19% -0.28% 0.72% -0.74% ibm14 2.94% 0.94% 2.25% -1.23%ibm06 2.61% 1.62% 4.06% -0.61% ibm15 3.97% 1.96% 0.34% 0.97%ibm07 2.93% 2.77% 0.06% -0.73% ibm16 2.64% 2.63% -0.09% 11.62%ibm08 2.64% -0.77% 3.25% 3.75% ibm17 4.03% 1.77% 3.47% 2.74%ibm09 2.78% 2.22% 2.97% 0.84% ibm18 1.70% 2.53% 7.67% 1.13%
Average 3.50% 2.27% 3.48% 1.67%
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
![Page 23: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/23.jpg)
Results: Hybrid Transformations
Capo FS Dragon mPL Capo FS Dragon mPLibm01 8.52% 2.31% 9.05% 4.70% ibm10 10.95% 4.11% 8.92% 1.94%ibm02 6.39% - - 8.12% ibm11 9.96% 2.04% 10.35% 11.10%ibm03 11.99% 2.22% 3.26% 2.06% ibm12 3.55% 3.26% 10.62% 7.74%ibm04 8.52% 1.59% 3.76% 11.31% ibm13 3.96% 6.60% 10.76% 10.02%ibm05 1.67% 1.10% 1.08% -0.31% ibm14 11.19% 6.64% 16.35% -ibm06 5.43% 16.78% 5.02% 9.31% ibm15 8.25% 2.17% 7.76% 12.41%ibm07 4.83% 2.83% 3.54% 2.81% ibm16 5.48% 3.72% 9.85% 7.27%ibm08 13.78% 3.13% 9.93% 12.16% ibm17 9.70% 1.52% 7.77% 6.35%ibm09 7.17% 7.24% 14.28% 3.56% ibm18 7.05% 2.17% 9.19% 12.37%
Average 7.07% 4.08% 8.32% 7.23%
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
![Page 24: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/24.jpg)
Results: Preserving Characteristics
Capo FS Dragon mPL Capo FS Dragon mPLibm01 6.74% 3.98% 10.82% 0.00% ibm10 5.08% 4.90% 9.04% 6.82%ibm02 4.90% 18.96% 0.00% 0.30% ibm11 6.45% 4.59% 7.97% 3.89%ibm03 6.29% 5.29% 8.25% 11.17% ibm12 5.78% 4.69% 5.53% 6.39%ibm04 5.08% 6.40% 4.00% - ibm13 4.64% 3.56% 9.79% 5.76%ibm05 0.91% 0.69% 0.64% 1.50% ibm14 9.48% 11.02% 14.97% 5.98%ibm06 2.26% 4.63% 5.95% 4.20% ibm15 7.33% 2.41% 9.98% 13.34%ibm07 4.05% 5.79% 9.13% 2.84% ibm16 8.10% 8.46% 10.57% 14.57%ibm08 3.06% 6.52% 8.77% 6.74% ibm17 5.09% 7.12% 7.17% 12.87%ibm09 4.95% 5.23% 7.04% 14.92% ibm18 5.31% 3.39% 12.24% 11.94%
Average 5.31% 5.98% 7.88% 7.24%
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
![Page 25: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/25.jpg)
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
![Page 26: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/26.jpg)
Thank You
![Page 27: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/27.jpg)
Netlist Transformation Classification
Hard Easy
Exa
ctNon-dominating
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
The outcome H2 of a netlist transformation on H1 can belong to one of possible four classes
![Page 28: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/28.jpg)
RMST/RSMT benchmarking
Capo FS Dragon mPL Capo FS Dragon mPLibm01 12.20% 4.07% 15.87% 4.62% ibm10 7.96% 3.15% 13.22% 13.93%ibm02 9.01% 2.77% 43.46% 6.42% ibm11 7.41% 3.05% 15.54% 9.32%ibm03 15.00% 2.74% 7.75% 9.14% ibm12 15.88% 2.47% 7.46% 8.06%ibm04 9.97% 2.36% 10.09% 5.79% ibm13 7.14% 5.24% 16.60% 10.08%ibm05 2.82% 1.56% 2.18% 3.38% ibm15 10.51% 2.21% 15.86% 18.96%ibm06 4.86% 2.11% 12.03% 5.83% ibm16 11.48% 6.11% 17.59% 21.86%ibm07 5.53% 3.37% 13.39% 4.70% ibm17 12.08% 13.35% 7.71% 15.14%ibm08 7.48% 4.79% 13.98% 4.52% ibm18 6.87% 3.29% 17.91% 16.64%ibm09 8.76% 13.17% 7.34% 5.41%
Average 8.61% 4.21% 13.22% 9.10%
Suboptimality deviation with respect to RMST/RSMT.
Results are normalized with respect to each placement’s original RMST.
![Page 29: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/29.jpg)
Netlist Transformations Procedure Many sources for ties:
which hyperedge to augment/decompose/substitute? which node to use in augmentation/decomposition/substitution?
Input: A hypergraph H1(V, E1)Output: A hypergraph H2(V, E2)
1. E2 E1
2. sort hyperedges E1 descending using their HPWL3. for each hyperedge e E1 in order:
2.1 find the set of nodes S that can be used for augmentation/decomposition/substitution2.2 identify the node v S that has the least degree2.3 use v to augment/decompose/substitute e
4. return H2(V, E2)
![Page 30: Placer Suboptimality Evaluation Using Zero-Change Transformations](https://reader035.fdocuments.in/reader035/viewer/2022070410/56814560550346895db232da/html5/thumbnails/30.jpg)
Hyperedge Decomposition
Results on the ibm01 benchmark.
Capo Dragon FengShui mPL
4.4
4.5
4.6
4.7
4.8
4.9
5
5.1
5.2
5.3
0 5 10 15 20 25
Total Hyperedge Increase (Perc %)
HP
WL
(x1
08 )