Home

Awesome

AutoDMP: Automated DREAMPlace-based Macro Placement

Built upon the GPU-accelerated global placer DREAMPlace and detailed placer ABCDPlace, AutoDMP adds simultaneous macro and standard cell placement enhancements and automatic parameter tuning based on multi-objective hyperparameter Bayesian optimization (MOBO).

MemPool GroupAriane
MemPool GroupAriane

Publications

Dependency

How to Build

You can build in two ways:

How to Run Multi-Objective Bayesian Optimization

To run the test of multi-objective Bayesian optimization on NVDLA NanGate45, call:

./tuner/run_tuner.sh 1 1 test/nvdla_nangate45_51/configspace.json test/nvdla_nangate45_51/NV_NVDLA_partition_c.aux test/nvdla_nangate45_51/nvdla_ppa.json \"\" 20 2 0 0 10 ./tuner test/nvdla_nangate45_51/mobohb_log

This will run on the GPUs for 20 iterations with 2 parallel workers. The different settings for the Bayesian optimization can be found in tuner/run_tuner.sh. The easiest way to explore different search spaces is to modify tuner/configspace.json. You can also run in single-objective mode or modify the parameters of the kernel density estimators in tuner/tuner_train.py.

Physical Design Flow

The physical design flow requires RTL, Python, and Tcl files from the TILOS-MacroPlacement repository. Only the codes that we have added and modified are provided in scripts.