A graph placement methodology for fast chip design

Chip floorplanning is the engineering task of designing the physical layout of a computer chip. Despite five decades of research1, chip floorplanning has defied automation, requiring months of intense effort by physical design engineers to produce manufacturable layouts. Here we present a deep reinforcement learning approach to chip floorplanning. In under six hours, our method automatically generates chip floorplans that are superior or comparable to those produced by humans in all key metrics, including power consumption, performance and chip area. To achieve this, we pose chip floorplanning as a reinforcement learning problem, and develop an edge-based graph convolutional neural network architecture capable of learning rich and transferable representations of the chip. As a result, our method utilizes past experience to become better and faster at solving new instances of the problem, allowing chip design to be performed by artificial agents with more experience than any human designer. Our method was used to design the next generation of Google's artificial intelligence (AI) accelerators, and has the potential to save thousands of hours of human effort for each new generation. Finally, we believe that more powerful AI-designed hardware will fuel advances in AI, creating a symbiotic relationship between the two fields.

[1]  Melvin A. Breuer,et al.  A class of min-cut placement algorithms , 1988, DAC '77.

[2]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[3]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[4]  Chung-Kuan Cheng,et al.  Module Placement Based on Resistive Network Optimization , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Brian W. Kernighan,et al.  A Procedure for Placement of Standard-Cell VLSI Circuits , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Alberto L. Sangiovanni-Vincentelli,et al.  TimberWolf3.2: A New Standard Cell Placement and Global Routing Package , 1986, 23rd ACM/IEEE Design Automation Conference.

[7]  Ernest S. Kuh,et al.  Proud: a fast sea-of-gates placement algorithm , 1988, DAC '88.

[8]  Pinaki Mazumder,et al.  VLSI cell placement techniques , 1991, CSUR.

[9]  Andrew B. Kahng,et al.  A hybrid multilevel/genetic approach for circuit partitioning , 1996, Proceedings of APCCAS'96 - Asia Pacific Conference on Circuits and Systems.

[10]  Andrew B. Kahng,et al.  Futures for partitioning in physical design (tutorial) , 1998, ISPD '98.

[11]  Andrew B. Kahng,et al.  Analytical Engines are Unnecessary in Top-down Partitioning-based Placement , 1999, VLSI Design.

[12]  Andrew B. Kahng,et al.  On wirelength estimations for row-based placement , 1998, ISPD '98.

[13]  Andrew B. Kahng,et al.  An algebraic multigrid solver for analytical placement with layout based clustering , 2003, DAC '03.

[14]  Andrew B. Kahng,et al.  Accurate pseudo-constructive wirelength and congestion estimation , 2003, SLIP '03.

[15]  Raul Rodriguez-Esteban,et al.  Global optimization of cerebral cortex layout. , 2004, Proceedings of the National Academy of Sciences of the United States of America.

[16]  Andrew B. Kahng,et al.  An analytic placer for mixed-size placement and timing-driven placement , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[17]  Andrew B. Kahng,et al.  Implementation and extensibility of an analytic placer , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  Andrew B. Kahng,et al.  Implementation and extensibility of an analytic placer , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[19]  Andrew B. Kahng,et al.  Architecture and details of a high quality, large-scale analytical placer , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[20]  Patrick H. Madden,et al.  Recursive bisection placement: feng shui 5.0 implementation details , 2005, ISPD '05.

[21]  Andrew B. Kahng,et al.  A semi-persistent clustering technique for VLSI circuit placement , 2005, ISPD '05.

[22]  Bo Hu,et al.  Multilevel fixed-point-addition-based VLSI placement , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[23]  Andrew B. Kahng,et al.  A tale of two nets: studies of wirelength progression in physical design , 2006, SLIP '06.

[24]  Tung-Chieh Chen,et al.  A High-Quality Mixed-Size Analytical Placer Considering Preplaced Blocks and Density Constraints , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[25]  Xin Yao,et al.  A Memetic Algorithm for VLSI Floorplanning , 2007, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[26]  Jens Vygen,et al.  BonnPlace: Placement of Leading-Edge Chips by Advanced Combinatorial Algorithms , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Ulf Schlichtmann,et al.  Kraftwerk2—A Fast Force-Directed Quadratic Placement Approach Using an Accurate Net Model , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[28]  David Z. Pan,et al.  DPlace2.0: A stable and efficient analytical placement based on diffusion , 2008, 2008 Asia and South Pacific Design Automation Conference.

[29]  Yao-Wen Chang,et al.  NTUplace3: An Analytical Placer for Large-Scale Mixed-Size Designs With Preplaced Blocks and Density Constraints , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[30]  J. Medlock,et al.  Optimizing Influenza Vaccine Distribution , 2009, Science.

[31]  Dongjin Lee,et al.  SimPL: An effective placement algorithm , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[32]  Igor L. Markov,et al.  ComPLx: A competitive primal-dual Lagrange optimization for global placement , 2012, DAC Design Automation Conference 2012.

[33]  Baber Aslam,et al.  Optimal roadside units placement in urban areas for vehicular networks , 2012, 2012 IEEE Symposium on Computers and Communications (ISCC).

[34]  Igor L. Markov,et al.  MAPLE: multilevel adaptive placement for mixed-size designs , 2012, ISPD '12.

[35]  Jin Hu,et al.  Progress and challenges in VLSI placement research , 2015, 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[36]  Ismail Bustany,et al.  POLAR: Placement based on novel rough legalization and refinement , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[37]  Chung-Kuan Cheng,et al.  ePlace-MS: Electrostatics-Based Placement for Mixed-Size Circuits , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[38]  Chung-Kuan Cheng,et al.  ePlace: Electrostatics-Based Placement Using Fast Fourier Transform and Nesterov's Method , 2015, TODE.

[39]  Jin Hu,et al.  Progress and Challenges in VLSI Placement Research , 2012, Proceedings of the IEEE.

[40]  Chung-Kuan Cheng,et al.  ePlace-3D: Electrostatics based Placement for 3D-ICs , 2015, ISPD.

[41]  Max Welling,et al.  Semi-Supervised Classification with Graph Convolutional Networks , 2016, ICLR.

[42]  Quoc V. Le,et al.  Neural Architecture Search with Reinforcement Learning , 2016, ICLR.

[43]  Demis Hassabis,et al.  Mastering the game of Go without human knowledge , 2017, Nature.

[44]  Le Song,et al.  2 Common Formulation for Greedy Algorithms on Graphs , 2018 .

[45]  Andrew B. Kahng,et al.  Machine Learning Applications in Physical Design: Recent Results and Directions , 2018, ISPD.

[46]  A. Kahng Reducing time and effort in IC implementation: a roadmap of challenges and solutions , 2018, Proceedings of the 55th Annual Design Automation Conference.

[47]  Yiran Chen,et al.  RouteNet: Routability prediction for Mixed-Size Designs Using Convolutional Neural Network , 2018, 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[48]  Yixin Chen,et al.  Link Prediction Based on Graph Neural Networks , 2018, NeurIPS.

[49]  Andrew B. Kahng,et al.  RePlAce: Advancing Solution Quality and Routability Validation in Global Placement , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[50]  Andrew B. Kahng,et al.  INVITED: Toward an Open-Source Digital Flow: First Learnings from the OpenROAD Project , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[51]  Andrew B. Kahng,et al.  Finding placement-relevant clusters with fast modularity-based clustering , 2019, ASP-DAC.

[52]  Jiang Hu,et al.  Routability-Driven Macro Placement with Embedded CNN-Based Prediction Model , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[53]  Azalia Mirhoseini,et al.  GAP: Generalizable Approximate Graph Partitioning Framework , 2019, ArXiv.

[54]  Luca Benini,et al.  The Cost of Application-Class Processing: Energy and Performance Analysis of a Linux-Ready 1.7-GHz 64-Bit RISC-V Core in 22-nm FDSOI Technology , 2019, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[55]  Azalia Mirhoseini,et al.  GDP: Generalized Device Placement for Dataflow Graphs , 2019, ArXiv.

[56]  Mangpo Phitchaya Phothilimtha,et al.  Transferable Graph Optimizers for ML Compilers , 2020, NeurIPS.

[57]  Jakob N. Foerster,et al.  Exploratory Combinatorial Optimization with Reinforcement Learning , 2019, AAAI.

[58]  Oriol Vinyals,et al.  Reinforced Genetic Algorithm Learning for Optimizing Computation Graphs , 2019, ICLR.

[59]  Mateus Fogaça,et al.  On the superiority of modularity-based clustering for determining placement-relevant clusters , 2020, Integr..

[60]  Jiaqi Gu,et al.  DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.