+ All Categories
Home > Documents > Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda VLSI...

Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda VLSI...

Date post: 18-Dec-2015
Category:
Upload: neal-patrick
View: 218 times
Download: 0 times
Share this document with a friend
Popular Tags:
30
Placer Suboptimality Evaluation Using Zero-Change Transformations Andrew B. Kahng Sherief Reda VLSI CAD lab UCSD ECE and CSE Departments
Transcript

Placer Suboptimality Evaluation Using Zero-Change Transformations

Andrew B. Kahng Sherief RedaVLSI 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 increase2. Hyperedge decomposition3. 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 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.]

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)

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

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?

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)

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

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

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

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

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

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 +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 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

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

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

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 )

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

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 )

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

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

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

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

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

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.

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)

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 )


Recommended