Excuse me, is there any mult-core acceleration sup...
# openroad
y
Excuse me, is there any mult-core acceleration support in Openroad? Openlane has option like ROUTING_CORE to accelerate its routing stage. Does Openroad has such kind of things?
m
Openlane's ROUTING_CORE is just a variable that enable Openroad's multithreaded router. The feature is in OR and only the enablement is in OL
y
so can I adjust the number of routing core in OR? Or how many cores does OR use by default?
I can’t find any option related to ROUTING_CORE in OpenRoad’s scripts
m
In OpenLane/scripts/openroad/droute.tcl LIne17 : set_thread_count $::env(ROUTING_CORES) the number of threads is set. (see openroad -threads count | max
y
yes, i know that’s in Openlane. But I mean I can’t find that option in Openroad. How may cores are OpenRoad using when doing routing?
m
There are several possibilities: (1) openroad -threads count | max sets threads_ (see OpenRoad::setThreadCount(..) in tools/OpenROAD/src/openroad.cc ) Those openroad-tools (i.e. drt = detail rooter) that are interested in this, call getThreadCount() and behave accordingly. (2) OpenROAD-flow-scripts (ORFS): In Makefile:230, NUM_CORES is set to the number of available cores. flow/scripts/detail_root.tcl use this value.
y
OK thank you very much
Btw, do you know whether does ORFS support MMMC or such kind of mult-corer mode ?
m
OR suppose MC but we have no exposed it through ORFS. It is possible if it would be useful.
m
e.g. OpenSTA (see tools/OpenROAD/src/sta/examples/multi_corner.tcl )