This script is used to execute one or more tasks (i.e. collections of benchmarks and architectures).

This script runs the VTR flow for a single benchmark circuit and architecture file.

The script is located at:

\$VTR_ROOT/vtr_flow/scripts/run_vtr_task.pl


## Basic Usage¶

Typical usage is:

run_vtr_task.pl <task_name1> <task_name2> ...


Note

At least one task must be specified, either directly as a parameter or via the -l options.

## Output¶

Each task will execute the script specified in the configuration file for every benchmark/circuit combination. The standard output of the underlying script will be forwarded to the output of this script.

If golden results exist (see parse_vtr_task), they will be inspected for runtime values. Any entries in the golden results with with the field names pack_time, place_time, route_time, min_chan_width_route_time, or crit_path_route_time will be summed to determine an estimated runtime for the benchmark. This information will be output in the following format before each circuit/benchmark combination:

Current time: Jan-01 01:00 AM.  Expected runtime of next benchmark: 3 minutes


Depending on the estimated runtime the units will automatically change between seconds, minutes and hours. This will not be output if the golden results file cannot be found, or if the -hide_runtime option is used, or if the underlying script is changed from the default run_vtr_flow.

## Detailed Command-line Options¶

-s <script_param> ...

Treat the remaining command line options as parameters to forward to the underlying script (e.g. run_vtr_flow).

-p <N>

Perform parallel execution using N threads.

Warning

Large benchmarks will use very large amounts of memory (several to 10s of gigabytes). Because of this, parallel execution often saturates the physical memory, requiring the use of swap memory, which significantly slows execution. Be sure you have allocated a sufficiently large swap memory or errors may result.

-l <task_list_file>

A file containing a list of tasks to execute.

Each task name should be on a separate line, e.g.:

<task_name1>

-hide_runtime