Bayesian Optimization for Macro Placement

Changyong Oh, Roberto Bondesan, Dana Kianfar, Rehan Ahmed, Rishubh Khurana +4 more
7/18/2022
cs.LGcs.AR

No confident code implementation found for this paper.

Abstract

Macro placement is the problem of placing memory blocks on a chip canvas. It can be formulated as a combinatorial optimization problem over sequence pairs, a representation which describes the relative positions of macros. Solving this problem is particularly challenging since the objective function is expensive to evaluate. In this paper, we develop a novel approach to macro placement using Bayesian optimization (BO) over sequence pairs. BO is a machine learning technique that uses a probabilistic surrogate model and an acquisition function that balances exploration and exploitation to efficiently optimize a black-box objective function. BO is more sample-efficient than reinforcement learning and therefore can be used with more realistic objectives. Additionally, the ability to learn from data and adapt the algorithm to the objective function makes BO an appealing alternative to other black-box optimization methods such as simulated annealing, which relies on problem-dependent heuristics and parameter-tuning. We benchmark our algorithm on the fixed-outline macro placement problem with the half-perimeter wire length objective and demonstrate competitive performance.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{oh2022bayesian,
  title  = {Bayesian Optimization for Macro Placement},
  author = {Changyong Oh and Roberto Bondesan and Dana Kianfar and Rehan Ahmed and Rishubh Khurana and Payal Agarwal and Romain Lepert and Mysore Sriram and Max Welling},
  year   = {2022},
  eprint = {2207.08398},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2207.08398v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2207.08398.svg)](https://codeofpaper.com/paper/2207.08398)

Discussion