Skip to content

gessfred/Parallel-RePlAce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Parallel RePlAce

Based on commit dbbe12c from The-OpenROAD-Project (Sep. 2018).

License

Based on the paper "A Shared-Memory Parallel Implementation of the RePlAce Global Cell Placer" from VLSID2020.

RePlAce is a state-of-the-art prototype of a flat, analytic, and nonlinear global cell placement algorithm, which models a placement instance as an electrostatic system with positively charged objects. This extension includes techniques to reduce memory contention and to effectively balance the workload among threads, targeting the most substantial performance bottlenecks. With 2–12 threads, our parallel RePlAce speeds up the bin density function by a factor of 4.2–10×, the wirelength function by a factor of 2.3–3×, and the cost gradient function by a factor of 2.9–6.6× compared to the single-threaded original RePlAce baseline. Moreover, our parallel RePlAce is ≈3.5× faster than the state-of-the-art PyTorch-based placer DREAMPlace, when both are running on 12 CPU cores

Installation

Install the dependencies:

  • flex
  • bison
  • Boost
  • Intel IPP
  • Intel MKL
  • X11

For Debian:

apt-get install -y libstdc++6 wget build-essential libx11-dev libboost-dev libcurl4 cmake swig flex bison libtool zlib1g-dev tcl-dev tk-dev libjpeg-dev
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
sh -c 'echo deb https://apt.repos.intel.com/ipp all main > /etc/apt/sources.list.d/intel-ipp.list'
apt-get update -y
apt-get install -y intel-mkl-2018.2-046 intel-ipp-2018.4-057 

Then go to code/RePlAce and do make

Usage

Docker

In ./

docker build . -t <your_tag>

Then

docker -it run <your_tag>

Or

docker -it run <your_tag> <numberOfThreads> <benchmark_name> <csv_output>

Image size: ~10GB

Installed

Publication

preprint

Citation

@InProceedings{GesslerJan20,
    author = {Gessler, Frédéric and Brisk, Philip and Stojilovi\'{c},  Mirjana},
    title = {A Shared-Memory Parallel Implementation of the {RePlAce} Global Cell Placer},
    booktitle = {Proceedings of the 33rd International Conference on VLSI Design and the 19th International Conference on Embedded Design},
    address = {Bengaluru, India}
    year = 2020,
    moth = jan,
    pages = {6},
}

Authors

About

From VLSID2020: A Shared Memory Parallel Implementation of the RePlAce Global Cell Placer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published