Skip to content

Commit 569dcb7

Browse files
committed
Merge remote-tracking branch 'origin/master' into HEAD
2 parents 1360a43 + b2a0693 commit 569dcb7

31 files changed

+1513
-1669
lines changed

docs/user/InstructionsForAutoTuner.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ User-defined coefficient values (`coeff_perform`, `coeff_power`, `coeff_area`) o
2323

2424
## Setting up AutoTuner
2525

26-
We have provided two convenience scripts, `./install.sh` and `./setup.sh`
26+
We have provided two convenience scripts, `./installer.sh` and `./setup.sh`
2727
that works in Python3.8 for installation and configuration of AutoTuner,
2828
as shown below:
2929

3030
```{note}
31-
Make sure you run the following commands in `./tools/AutoTuner/src/autotuner`.
31+
Make sure you run the following commands in the ORFS root directory.
3232
```
3333

3434
```shell
3535
# Install prerequisites
36-
./tools/AutoTuner/install.sh
36+
./tools/AutoTuner/installer.sh
3737

3838
# Start virtual environment
3939
./tools/AutoTuner/setup.sh
@@ -104,14 +104,15 @@ For Global Routing parameters that are set on `fastroute.tcl` you can use:
104104

105105
### General Information
106106

107-
The `distributed.py` script uses Ray's job scheduling and management to
107+
The `distributed.py` script located in `./tools/AutoTuner/src/autotuner` uses [Ray's](https://docs.ray.io/en/latest/index.html) job scheduling and management to
108108
fully utilize available hardware resources from a single server
109-
configuration, on-premies or over the cloud with multiple CPUs.
110-
The two modes of operation: `sweep`, where every possible parameter
111-
combination in the search space is tested; and `tune`, where we use
112-
Ray's Tune feature to intelligently search the space and optimize
113-
hyperparameters using one of the algorithms listed above. The `sweep`
114-
mode is useful when we want to isolate or test a single or very few
109+
configuration, on-premise or over the cloud with multiple CPUs.
110+
111+
The two modes of operation:
112+
- `sweep`, where every possible parameter combination in the search space is tested
113+
- `tune`, where we use Ray's Tune feature to intelligently search the space and optimize hyperparameters using one of the algorithms listed above.
114+
115+
The `sweep` mode is useful when we want to isolate or test a single or very few
115116
parameters. On the other hand, `tune` is more suitable for finding
116117
the best combination of a complex and large number of flow
117118
parameters. Both modes rely on user-specified search space that is
@@ -120,7 +121,7 @@ though some features may not be available for sweeping.
120121

121122
```{note}
122123
The order of the parameters matter. Arguments `--design`, `--platform` and
123-
`--config` are always required and should precede <mode>.
124+
`--config` are always required and should precede *mode*.
124125
```
125126

126127
#### Tune only
@@ -169,7 +170,7 @@ GCP Setup Tutorial coming soon.
169170
| `--git_url` | OpenROAD-flow-scripts repo URL to use. |
170171
| `--build_args` | Additional arguments given to ./build_openroad.sh |
171172
| `--algorithm` | Search algorithm to use for Autotuning. |
172-
| `--eval` | Evalaute function to use with search algorithm. \ |
173+
| `--eval` | Evaluate function to use with search algorithm. |
173174
| `--samples` | Number of samples for tuning. |
174175
| `--iterations` | Number of iterations for tuning. |
175176
| `--resources_per_trial` | Number of CPUs to request for each tuning job. |

flow/BUILD.bazel

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ orfs_flow(
7070
"SDC_FILE": "$(location :constraints-swerv)",
7171
},
7272
"floorplan": SWERV_ALL | {
73-
"RTLMP_FLOW": "1",
7473
"RTLMP_MAX_INST": "30000",
7574
"RTLMP_MIN_INST": "5000",
7675
"RTLMP_MAX_MACRO": "30",
@@ -144,7 +143,6 @@ MOCK_ARRAY_FLOORPLAN_PLACE = {
144143
"CORE_AREA": "2.16 2.16 356.40000000000003 386.64000000000004",
145144
"MACRO_PLACE_HALO": "0 2.16",
146145
"RTLMP_BOUNDARY_WT": "0",
147-
"RTLMP_FLOW": "1",
148146
"PDN_TCL": "$(PLATFORM_DIR)/openRoad/pdn/BLOCKS_grid_strategy.tcl",
149147
"MACRO_HALO_X": "0.5",
150148
"MACRO_HALO_Y": "0.5",

flow/Makefile

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ ifneq ($(BLOCKS),)
233233
endif
234234
endif
235235

236-
export RTLMP_FLOW ?= 1
237236
export RTLMP_RPT_DIR ?= $(OBJECTS_DIR)/rtlmp
238237
export RTLMP_RPT_FILE ?= partition.txt
239238
export RTLMP_BLOCKAGE_FILE ?= $(OBJECTS_DIR)/rtlmp/partition.txt.blockage
@@ -642,31 +641,29 @@ endef
642641
#-------------------------------------------------------------------------------
643642
$(eval $(call do-step,2_1_floorplan,$(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(TECH_LEF) $(SC_LEF) $(ADDITIONAL_LEFS) $(FOOTPRINT) $(SIG_MAP_FILE) $(FOOTPRINT_TCL),floorplan))
644643

645-
$(eval $(call do-step,2_2_floorplan_io,$(RESULTS_DIR)/2_1_floorplan.odb $(IO_CONSTRAINTS),io_placement_random))
646-
647-
# STEP 3: Timing Driven Mixed Sized Placement
644+
# STEP 2: Random IO placement
648645
#-------------------------------------------------------------------------------
649-
$(eval $(call do-step,2_3_floorplan_tdms,$(RESULTS_DIR)/2_2_floorplan_io.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(LIB_FILES),tdms_place))
646+
$(eval $(call do-step,2_2_floorplan_io,$(RESULTS_DIR)/2_1_floorplan.odb $(IO_CONSTRAINTS),io_placement_random))
650647

651-
# STEP 4: Macro Placement
648+
# STEP 3: Macro Placement
652649
#-------------------------------------------------------------------------------
653-
$(eval $(call do-step,2_4_floorplan_macro,$(RESULTS_DIR)/2_3_floorplan_tdms.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(MACRO_PLACEMENT) $(MACRO_PLACEMENT_TCL),macro_place))
650+
$(eval $(call do-step,2_3_floorplan_macro,$(RESULTS_DIR)/2_2_floorplan_io.odb $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(MACRO_PLACEMENT) $(MACRO_PLACEMENT_TCL),macro_place))
654651

655-
# STEP 5: Tapcell and Welltie insertion
652+
# STEP 4: Tapcell and Welltie insertion
656653
#-------------------------------------------------------------------------------
657-
$(eval $(call do-step,2_5_floorplan_tapcell,$(RESULTS_DIR)/2_4_floorplan_macro.odb $(TAPCELL_TCL),tapcell))
654+
$(eval $(call do-step,2_4_floorplan_tapcell,$(RESULTS_DIR)/2_3_floorplan_macro.odb $(TAPCELL_TCL),tapcell))
658655

659-
# STEP 6: PDN generation
656+
# STEP 5: PDN generation
660657
#-------------------------------------------------------------------------------
661-
$(eval $(call do-step,2_6_floorplan_pdn,$(RESULTS_DIR)/2_5_floorplan_tapcell.odb $(PDN_TCL),pdn))
658+
$(eval $(call do-step,2_5_floorplan_pdn,$(RESULTS_DIR)/2_4_floorplan_tapcell.odb $(PDN_TCL),pdn))
662659

663-
$(eval $(call do-copy,2_floorplan,2_6_floorplan_pdn.odb,))
660+
$(eval $(call do-copy,2_floorplan,2_5_floorplan_pdn.odb,))
664661

665662
$(RESULTS_DIR)/2_floorplan.sdc: $(RESULTS_DIR)/2_1_floorplan.odb
666663

667664
.PHONY: do-floorplan
668665
do-floorplan:
669-
$(UNSET_AND_MAKE) do-2_1_floorplan do-2_2_floorplan_io do-2_3_floorplan_tdms do-2_4_floorplan_macro do-2_5_floorplan_tapcell do-2_6_floorplan_pdn do-2_floorplan
666+
$(UNSET_AND_MAKE) do-2_1_floorplan do-2_2_floorplan_io do-2_3_floorplan_io do-2_4_floorplan_tapcell do-2_5_floorplan_pdn do-2_floorplan
670667

671668
.PHONY: clean_floorplan
672669
clean_floorplan:

0 commit comments

Comments
 (0)