Incremental Physical Design Jason Cong UCLA Majid Sarrafzadeh Northwestern Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 1 Outline � PART I: Introduction & Motivation � PART II: Partitioning, Floorplanning, and Placemenet � PART III: Routing � PART IV: Conclusion Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 2 1
PART I: Introduction & Motivation Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 3 Introduction & Motivation Concurrent optimization: � problems are getting complex � need quick evaluation of a number of alternatives � � Existing algorithms are “incremental” � what can we say about the quality of the final solution? � when to do, and how much, incremental “moves”? � A more fundamental concept: Given a solution, assess its quality � Design for change � The right data structures Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 4 2
Current Methods � Ad-hoc (low-temp annealing or rip-up and reroute) � No or very little understanding of the solution quality � Painful and slow updates � May have undesired global impact � There has been very little done on the topic � (We provide a reasonable list of references as a starting points: data structures, layout algorithms, synthesis algorithms, etc) � Today’s presentation is meant to serve as a motivator Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 5 PART II: Partitioning, Floorplanning, and Placement Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 6 3
Partitioning Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 7 Incremental Partitioning � An original (hyper)graph and its near-optimal partitioning results are given. � An incrementally changed (hyper)graph is obtained by adding/deleting vertices/edges from the original graph. � Incremental partitioning problem is to find the near- optimal partitioning for the changed (hyper)graph without doing from the scratch. � Incremental partitioning should be much faster than the original partitioning. � It is preferable to use the existing partitioning results for the original (hyper)graph. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 8 4
Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 9 One Vertex Changed (e.g., resized) Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 10 5
One Edge Added (logic restructuring) Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 11 3 rd Vertex Changed Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 12 6
0-proximity 0-proximity Vertices 0-proximity 0-proximity 0-proximity 0-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 13 0-proximity 1-proximity Vertices 1-proximity 0-proximity 0-proximity 0-proximity 0-proximity 1-proximity 1-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 14 7
0-proximity 2-proximity Vertices 1-proximity 2-proximity 0-proximity 0-proximity 0-proximity 0-proximity 1-proximity 1-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 15 Partitioning Problem on the Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 16 8
Partitioning Problem on the Changed Graph (inf-threshold) Changed Vertices 0-proximity 0-proximity 0-proximity 0-proximity 1-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 17 0-Threshold Incremental 0-proximity Partitioning 0-proximity 0-proximity 0-proximity 0-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 18 9
1-Threshold Incremental 0-proximity Partitioning 1-proximity 0-proximity 0-proximity 0-proximity 0-proximity 1-proximity Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 19 Incremental Partitioning with 1% Change In the Original Graph 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Net-cut results normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 20 10
Incremental Partitioning with 1% Change In the Original Graph 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Runtime normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 21 Incremental Partitioning with 5% Change In the Original Graph 1.4 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Net-cut results normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 22 11
Incremental Partitioning with 5% Change In the Original Graph 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Runtime normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 23 Incremental Partitioning with 10% Change In the Original Graph 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Net-cut results normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 24 12
Incremental Partitioning with 10% Change In the Original Graph 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Runtime normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 25 Incremental Partitioning with 20% Change In the Original Graph 2 1.5 1 0.5 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Net-cut results normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 26 13
Incremental Partitioning with 20% Change In the Original Graph 1.2 1 0.8 0.6 0.4 0.2 0 ibm01 ibm02 ibm03 ibm04 ibm05 0-threshold 1-threshold 2-threshold inf-threshold Runtime normalized to infinity-threshold results. Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 27 Incremental Partitioning with 1% Change In the Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 28 14
Incremental Partitioning with 5% Change In the Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 29 Incremental Partitioning with 10% Change In the Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 30 15
Incremental Partitioning with 20% Change In the Original Graph Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 31 Some more ideas � Localized proximity � Net-list dependent proximity � New/ targeted algorithms (not “locked full partitioner”) for incremental partitioning � Create an initial solution that is suitable for change Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 32 16
Floorplanning Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 33 Incremental Floorplanning � Do not resize the floorplan if not needed or if not needed “badly” (based on an enhanced sizing tree) [Crenshaw- Sarrafzadeh] Time Ratio Plot 10000 1000 Ex10 Ex20 100 Ex50 10 1 Vec1x Vec5x Vec10x Vec50x Vec100x Vector File Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 34 17
A slack based sizing tree (for quick decision making) 11 10 4 5 7 1 5 7 TSS 8 14 5 4 module width height 8 1 3 2 3 7 2 5 2 0 2 7 5 6 6 3 0 4 w + =0 10 5 4 3 0 h + = 0 5 2 0 Horizontal critical path 6 0 0 Vertical critical path w + - slack in width w + =0 w + =0 h + - slack in height h + = 2 h + = 0 10-8 w + =2 w + =0 w + =3 w + =0 h + = 0 6 h + = 0 1 h + = 0 h + = 0 8-7 w + =0 w + =0 w + = 1 w + =0 h + = 2 h + = 0 h + = 0 5 4 3 2 h + = 0 Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 35 Speed-up after a series of moves (adding buffers, sizing, gate duplication User Times for Finding Area Improving Moves 900.00 800.00 700.00 600.00 slack-aware greedy-local CPU runtime (s) 500.00 greedy-global 400.00 300.00 200.00 100.00 0.00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 7 8 9 7 8 9 4 5 6 7 9 9 0 3 2 5 - - - - - - 1 1 1 1 - - - 1 1 - - - 1 1 t t t t t t 1 1 1 2 2 2 c c c c c c - - - - y y y - - y y y - - a a a a a u t t t t 1 1 2 2 c c c c r r r y y r r r y y r r r r r r u u u u a a a a a a f f f f f t m m m r r m m m r r s r r r r a a a a s t s t s t s t i i i m m i i i m m r r r r r r p p p i i p p p i i benchmarks r r r r p p p p Jason Cong C ISPD 2000: April 10-12 Majid Sarrafzadeh 36 18
Recommend
More recommend