@@ -53,24 +53,25 @@ scaling to 100s of actors.
53
53
54
54
## Features
55
55
56
- * Places netlists with hundreds of macros and millions of stdcells (in
57
- clustered format).
58
- * Computes both macro location and orientation (flipping).
59
- * Optimizes multiple objectives including wirelength, congestion, and density.
60
- * Supports alignment of blocks to the grid, to model clock strap or macro
61
- blockage.
62
- * Supports macro-to-macro, macro-to-boundary spacing constraints.
63
- * Supports fixed macros.
64
- * Supports [ DREAMPlace] ( https://github.com/limbo018/DREAMPlace ) as the stdcell placer.
65
- * Allows users to specify their own technology parameters, e.g. and routing
66
- resources (in routes per micron) and macro routing allocation.
67
- * Generates
68
- [ clustered netlists] ( https://github.com/google-research/circuit_training/tree/main/circuit_training/grouping ) .
69
- * [ TILOS-AI-Institute] ( https://www.tilos.ai/ ) has created a
70
- [ script] ( https://github.com/TILOS-AI-Institute/MacroPlacement/tree/main/CodeElements/FormatTranslators )
71
- to convert LEF/DEF and Bookshelf to the
72
- [ Netlist Protocol Buffer] ( https://github.com/google-research/circuit_training/blob/main/docs/NETLIST_FORMAT.md )
73
- used as the input for circuit training.
56
+ * Places netlists with hundreds of macros and millions of stdcells (in
57
+ clustered format).
58
+ * Computes both macro location and orientation (flipping).
59
+ * Optimizes multiple objectives including wirelength, congestion, and density.
60
+ * Supports alignment of blocks to the grid, to model clock strap or macro
61
+ blockage.
62
+ * Supports macro-to-macro, macro-to-boundary spacing constraints.
63
+ * Supports fixed macros.
64
+ * Supports [ DREAMPlace] ( https://github.com/limbo018/DREAMPlace ) as the stdcell
65
+ placer.
66
+ * Allows users to specify their own technology parameters, e.g. and routing
67
+ resources (in routes per micron) and macro routing allocation.
68
+ * Generates
69
+ [ clustered netlists] ( https://github.com/google-research/circuit_training/tree/main/circuit_training/grouping ) .
70
+ * [ TILOS-AI-Institute] ( https://www.tilos.ai/ ) has created a
71
+ [ script] ( https://github.com/TILOS-AI-Institute/MacroPlacement/tree/main/CodeElements/FormatTranslators )
72
+ to convert LEF/DEF and Bookshelf to the
73
+ [ Netlist Protocol Buffer] ( https://github.com/google-research/circuit_training/blob/main/docs/NETLIST_FORMAT.md )
74
+ used as the input for circuit training.
74
75
75
76
<a id =' Installation ' ></a >
76
77
@@ -91,9 +92,8 @@ The steps below install the most recent branch and the archive is in the
91
92
[ releases section] ( #releases ) . There are two methods for installing; but before
92
93
doing either one you need to run the preliminary setup] ( #preliminary-setup ) .
93
94
94
- * [ Use the docker] ( #using-the-docker ) (** Highly Recommended** )
95
- * [ Install locally] ( #install-locally )
96
-
95
+ * [ Use the docker] ( #using-the-docker ) (** Highly Recommended** )
96
+ * [ Install locally] ( #install-locally )
97
97
98
98
### Preliminary Setup
99
99
@@ -143,17 +143,15 @@ Do not forget to do the [prelimary setup](#preliminary-setup).
143
143
144
144
Circuit Training installation steps:
145
145
146
- * Install our DREAMPlace binary.
147
- * Install TF-Agents and The Placement Cost Binary
148
- * Run a test
149
-
146
+ * Install our DREAMPlace binary.
147
+ * Install TF-Agents and The Placement Cost Binary
148
+ * Run a test
150
149
151
150
#### Install DREAMPlace
152
151
153
152
Follow the [ instructions] ( #install-dreamplace ) for DREAMPlace but do not change
154
153
the ENV VARS that you already exported previously.
155
154
156
-
157
155
#### Install TF-Agents and the Placement Cost binary
158
156
159
157
These commands install TF-Agents and the placement cost binary.
@@ -177,7 +175,6 @@ to `tf-agents[reverb]~=<version you want>`
177
175
tox -e py39-stable -- circuit_training/grouping/grouping_test.py
178
176
```
179
177
180
-
181
178
## HEAD
182
179
183
180
We recommand using [ stable] ( #stable ) branches; but our team does work from the
@@ -188,9 +185,8 @@ The steps below install the most recent branch and the archive is in the
188
185
[ releases section] ( #releases ) . There are two methods for installing; but before
189
186
doing either one you need to run the [ preliminary setup] ( #preliminary-setup-2 ) .
190
187
191
- * [ Use the docker] ( #using-the-docker-2 ) (** Highly Recommended** )
192
- * [ Install locally] ( #install-locally-2 )
193
-
188
+ * [ Use the docker] ( #using-the-docker-2 ) (** Highly Recommended** )
189
+ * [ Install locally] ( #install-locally-2 )
194
190
195
191
### Preliminary Setup
196
192
@@ -231,16 +227,15 @@ $ docker run --rm -v ${REPO_ROOT}:/workspace --workdir /workspace circuit_traini
231
227
232
228
Circuit Training installation steps:
233
229
234
- * Install our DREAMPlace binary.
235
- * Install TF-Agents Nightly and the placement cost binary
236
- * Run a test
230
+ * Install our DREAMPlace binary.
231
+ * Install TF-Agents Nightly and the placement cost binary
232
+ * Run a test
237
233
238
234
#### Install DREAMPlace
239
235
240
236
Follow the [ instructions] ( #install-dreamplace ) for DREAMPlace but do not change
241
237
the ENV VARS that you already exported previously.
242
238
243
-
244
239
#### Install TF-Agents and the Placement Cost binary
245
240
246
241
These commands install TF-Agents and the placement cost binary.
@@ -264,7 +259,7 @@ tox -e py39-nightly -- circuit_training/grouping/grouping_test.py
264
259
265
260
## Install DREAMPlace
266
261
267
- DREAMPlace is ** not** provided as a PyPi package and needs to be compilede. We
262
+ DREAMPlace is ** not** provided as a PyPi package and needs to be compilede. We
268
263
provide compiled versions of DREAMPlace taken from our
269
264
[ branch] ( https://github.com/esonghori/DREAMPlace/tree/circuit_training ) for a
270
265
range of Python versions built for our docker image (Ubuntu 20.4). We also use
@@ -355,12 +350,11 @@ the filename pattern can be used to install DREAMPle for the versions of Python
355
350
supported. For the Placement Cost binary, the ULR is to the version of the PLC
356
351
used at the time the branch was cut.
357
352
358
- Release | Branch / Tag | TF-Agents | DREAMPlace | PL
359
- ------- | ------------------------------------------------------------------------- | ------------------------- | -------------------------------- | -------------- |
360
- HEAD | [ main] ( https://github.com/google-research/circuit-training ) | tf-agents-nightly[ reverb] |
361
- 0.0.3 | [ v0.0.3] ( https://github.com/google-research/circuit_training/tree/v0.0.3 ) | tf-agents[ reverb] ~ =0.16.0 | dreamplace_20230414_b31e8af_python3.9.tar.gz | [ placement cost binary] ( https://storage.googleapis.com/rl-infra-public/circuit-training/placement_cost/plc_wrapper_main_0.0.3 )
362
- 0.0.2 | [ v0.0.2] ( https://github.com/google-research/circuit_training/tree/v0.0.2 ) | tf-agents[ reverb] ~ =0.16.0 |
363
-
353
+ Release | Branch / Tag | TF-Agents | DREAMPlace | PL
354
+ ---------|---------------------------------------------------------------------------|---------------------------|----------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
355
+ HEAD | [ main] ( https://github.com/google-research/circuit-training ) | tf-agents-nightly[ reverb] |
356
+ 0.0.3 | [ v0.0.3] ( https://github.com/google-research/circuit_training/tree/v0.0.3 ) | tf-agents[ reverb] ~ =0.16.0 | dreamplace_20230414_b31e8af_python3.9.tar.gz | [ placement cost binary] ( https://storage.googleapis.com/rl-infra-public/circuit-training/placement_cost/plc_wrapper_main_0.0.3 )
357
+ 0.0.2 | [ v0.0.2] ( https://github.com/google-research/circuit_training/tree/v0.0.2 ) | tf-agents[ reverb] ~ =0.16.0 |
364
358
365
359
<a id =' Results ' ></a >
366
360
@@ -382,20 +376,20 @@ for 3 different seeds run 3 times each. This is slightly different than what was
382
376
used in the paper (8 runs each with a different seed), but better captures the
383
377
different sources of variability.
384
378
385
- Metric | Proxy Wirelength | Proxy Congestion | Proxy Density
386
- -------- | ---------------- | ---------------- | -------------
387
- ** mean** | 0.1013 | 0.9174 | 0.5502
388
- ** std** | 0.0036 | 0.0647 | 0.0568
379
+ Metric | Proxy Wirelength | Proxy Congestion | Proxy Density
380
+ ----------| ------------------| ------------------|-- -------------
381
+ ** mean** | 0.1013 | 0.9174 | 0.5502
382
+ ** std** | 0.0036 | 0.0647 | 0.0568
389
383
390
384
The table below summarizes the
391
385
[ paper] ( https://www.nature.com/articles/s41586-021-03544-w.epdf?sharing_token=tYaxh2mR5EozfsSL0WHZLdRgN0jAjWel9jnR3ZoTv0PW0K0NmVrRsFPaMa9Y5We9O4Hqf_liatg-lvhiVcYpHL_YQpqkurA31sxqtmA-E1yNUWVMMVSBxWSp7ZFFIWawYQYnEXoBE4esRDSWqubhDFWUPyI5wK_5B_YIO-D_kS8%3D )
392
386
result for fine-tuning from a pre-trained model over 8 runs with each one using
393
387
a different seed.
394
388
395
- Metric | Proxy Wirelength | Proxy Congestion | Proxy Density
396
- -------- | ---------------- | ---------------- | -------------
397
- ** mean** | 0.1198 | 0.9718 | 0.5729
398
- ** std** | 0.0019 | 0.0346 | 0.0086
389
+ Metric | Proxy Wirelength | Proxy Congestion | Proxy Density
390
+ ----------| ------------------| ------------------|-- -------------
391
+ ** mean** | 0.1198 | 0.9718 | 0.5729
392
+ ** std** | 0.0019 | 0.0346 | 0.0086
399
393
400
394
<a id =' FAQ ' ></a >
401
395
@@ -547,20 +541,20 @@ We would like to recognize the following individuals for their code
547
541
contributions, discussions, and other work to make the release of the Circuit
548
542
Training library possible.
549
543
550
- * Sergio Guadarrama
551
- * Summer Yue
552
- * Ebrahim Songhori
553
- * Joe Jiang
554
- * Toby Boyd
555
- * Azalia Mirhoseini
556
- * Anna Goldie
557
- * Mustafa Yazgan
558
- * Shen Wang
559
- * Terence Tam
560
- * Young-Joon Lee
561
- * Roger Carpenter
562
- * Quoc Le
563
- * Ed Chi
544
+ * Sergio Guadarrama
545
+ * Summer Yue
546
+ * Ebrahim Songhori
547
+ * Joe Jiang
548
+ * Toby Boyd
549
+ * Azalia Mirhoseini
550
+ * Anna Goldie
551
+ * Mustafa Yazgan
552
+ * Shen Wang
553
+ * Terence Tam
554
+ * Young-Joon Lee
555
+ * Roger Carpenter
556
+ * Quoc Le
557
+ * Ed Chi
564
558
565
559
<a id =' Citation ' ></a >
566
560
0 commit comments