run_vtr_task

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

See also

See Tasks for creation and configuration of tasks.

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>
<task_name2>
<task_name3>
...
-hide_runtime

Do not show runtime estimates.