Optimizing simulated annealing on GPU: A case study with IC floorplanning

In this paper, we propose a novel floorplanning algorithm based on simulated annealing on GPUs. Simulated annealing is an inherently sequential algorithm, far from the typical programs suitable for Single Instruction Multiple Data (SIMD) style concurrency in a GPU. We propose a fundamentally different approach of exploring the floorplan solution space, where we evaluate concurrent moves on a given floorplan. We illustrate several performance optimization techniques for this algorithm on GPUs. Compared to the sequential algorithm, our techniques achieve 6–160X speedup for a range of MCNC and GSRC benchmarks, while delivering comparable or better solution quality.

[1]  Igor L. Markov,et al.  Fixed-outline floorplanning: enabling hierarchical design , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[2]  Rob A. Rutenbar,et al.  Multiprocessor-Based Placement by Simulated Annealing , 1986, DAC 1986.

[3]  Valeria Bertacco,et al.  Event-driven gate-level simulation with GP-GPUs , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[4]  Ayellet Tal,et al.  Multi-Level Graph Layout on the GPU , 2007, IEEE Transactions on Visualization and Computer Graphics.

[5]  Takeshi Yoshimura,et al.  An O-tree representation of non-slicing floorplan and its applications , 1999, DAC '99.

[6]  Yao-Wen Chang,et al.  Modern floorplanning based on fast simulated annealing , 2005, ISPD '05.

[7]  Yao-Wen Chang,et al.  IMF: interconnect-driven multilevel floorplanning for large-scale building-module designs , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[8]  Ayellet Tal,et al.  Online Dynamic Graph Drawing , 2008, IEEE Transactions on Visualization and Computer Graphics.

[9]  Yangdong Deng,et al.  Taming irregular EDA applications on GPUs , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[10]  D. Janaki Ram,et al.  Parallel Simulated Annealing Algorithms , 1996, J. Parallel Distributed Comput..

[11]  Sunil P. Khatri,et al.  Towards acceleration of fault simulation using Graphics Processing Units , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[12]  Jason Cong,et al.  Parallel multi-level analytical global placement on graphics processing units , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[13]  Yao-Wen Chang,et al.  B*-trees: a new representation for non-slicing floorplans , 2000, Proceedings 37th Design Automation Conference.

[14]  Jiang Hu,et al.  GPU-Based Parallelization for Fast Circuit Optimization , 2011, ACM Trans. Design Autom. Electr. Syst..

[15]  Yao-Wen Chang,et al.  Modern floorplanning based on B/sup */-tree and fast simulated annealing , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Yici Cai,et al.  GPU friendly Fast Poisson Solver for structured power grid network analysis , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[17]  Peng Li,et al.  Multigrid on GPU: tackling power grid analysis on parallel SIMT platforms , 2008, ICCAD 2008.

[18]  Jonathan Rose,et al.  Parallel standard cell placement algorithms with quality equivalent to simulated annealing , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..