You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Task] Added Ability to Constrain Circuits in Config
The VTR task interface uses configuration files to specify what circuits
to run for a given task. The current implementation of these config
files only allowed the user to run all of their circuits on the same
device and using the same flat constraint file (for example fixing the
IOs). This was only able to be done through specifying them in the
script_params option, but this was limited.
This causes problems for the AP flow since each circuit has different IO
constraints and may be constrained to different devices or
architectures. The only way to use the VTR tasks is to create one
configuration file per circuit, which is very wasteful and challenging
to work with. It also makes parsing the QoR more difficult.
Added a new configuration option that can be added to the configuration
file which can constrain a circuit to a given option. The syntax is as
follows:
circuit_constraint_list_add=(<circuit>, <constr_key, constr_val>)
This line will tell VTR run task to constrain the circuit on the
constr_key option.
The currently supported constraint keys are:
- arch: Constrain the circuit to only run on the given arch
- device: Constrain the circuit to only use the given device
- constraints: Constrain the circuit's atom placement
If a constraint is not specified, the bahaviour is unchanged. So, for
example, if an arch constraint is not specified, the circuit will run on
all the architectures in the arch_list (as usual).
Future work is to support constraining the route_chan_width so different
circuits can be run with different channel widths in the same config
file. This can easily be added using this interface.
0 commit comments