@-Variables

@-variables are placeholder variables that can be used in the experiments.yml file. They are enclosed by at signs, i.e. @...@ and get resolved during runtime.

For example: In order to avoid the duplication of command line arguments of experiments for each instance, e.g. experiment.py /path/to/instance1, experiment.py /path/to/instance2, … we use the @INSTANCE@ variable that resolves to the respective paths of the instances. Then, we only need to specify experiments.py @INSTANCE@ as experiment arguments.

Below, we list all @-variables and where they can be used.

  • @BASE_DIR@: path of the directory containing the experiments.yml

  • @COMPILE_DIR_FOR:<build_name>@: compilation directory of <build_name> in the same revision

  • @EXTRA_ARGS@: extra arguments of all variants and the instance of an experiment

  • @INSTANCE@: path of a local/remote instance, i.e. /instance_directory/<instance_name>

  • @INSTANCE_DIR@: path of the Instance Directory

  • @INSTANCE:<ext>@: path of a Multiple Extensions instance with extension <ext>, i.e. /instance_directory/<instance_name>.<ext>

  • @INSTANCE:<idx>@: path of an Arbitrary Input Files instance with index <idx> in the files key, i.e. /instance_directory/files[<idx>]

  • @INSTANCE_FILENAME@: filename of the instance

  • @OUTPUT@: path to the output file of an experiment

  • @OUTPUT:<ext>@: path to the output file with extension <ext> of an experiment

  • @OUTPUT_SUBDIR@: output subdirectory of the experiment where the output and status files are stored, i.e. /path_to_experiments_yml/output/

  • @PARALLELISM@: number of available CPUs

  • @PREFIX_DIR_FOR:<build_name>@: installation directory of <build_name> in the same revision

  • @REPETITION@: repetition number of this experiment

  • @SOURCE_DIR_FOR:<build_name>@: source directory of <build_name> in the same revision

  • @THIS_CLONE_DIR@: Deprecated for @THIS_SOURCE_DIR@

  • @THIS_COMPILE_DIR@: compilation directory of this build

  • @THIS_PREFIX_DIR@: installation directory of this build

  • @THIS_SOURCE_DIR@: source directory of this build

  • @VARIANT_VALUE:<axis_name>@: variant value of the dynamic variant axis <axis_name>

Builds

compile

The following @-variables can be used in the compile key:

  • @BASE_DIR@

  • @COMPILE_DIR_FOR:<build_name>@

  • @INSTANCE_DIR@

  • @PARALLELISM@

  • @PREFIX_DIR_FOR:<build_name>@

  • @SOURCE_DIR_FOR:<build_name>@

  • @THIS_CLONE_DIR@ (deprecated for @THIS_SOURCE_DIR@)

  • @THIS_COMPILE_DIR@

  • @THIS_PREFIX_DIR@

  • @THIS_SOURCE_DIR@

configure

Same as for the compile key.

environ

The values of the environ key will be substituted and the @-variables are the same as for the compile key.

extra_paths

Same as for the compile key without the @PARALLELISM@ variable.

install

Same as for the compile key.

regenerate

Same as for the compile key.

workdir

Same as for the compile key.

Experiments

args

The following @-variables can be used in the args key:

  • @BASE_DIR@

  • @COMPILE_DIR_FOR:<build_name>@ (<build> has to be in used_builds or be required by a build in it)

  • @EXTRA_ARGS@

  • @INSTANCE@

  • @INSTANCE_DIR@

  • @INSTANCE:<ext>@

  • @INSTANCE:<idx>@

  • @OUTPUT@

  • @OUTPUT:<ext>@

  • @OUTPUT_SUBDIR@

  • @PREFIX_DIR_FOR:<build_name>@ (<build_name> has to be in used_builds or be required by a build in it)

  • @REPETITION@

  • @SOURCE_DIR_FOR:<build_name>@ (<build_name> has to be in used_builds or be required by a build in it)

  • @VARIANT_VALUE:<axis_name>@

environ

The values of the environ key will be substituted and the @-variables are the same as for the args key.

num_nodes

Same as for the args key without the @EXTRA_ARGS@ variable.

num_threads

Same as for the args key without the @EXTRA_ARGS@ variable.

procs_per_node

Same as for the args key without the @EXTRA_ARGS@ variable.

workdir

Same as for the args key without the @EXTRA_ARGS@ variable.

Instances

extra_args

Same as for the experiments args key without the @EXTRA_ARGS@ variable.

generator

args

The following @-variables can be used in the args key of the generator key:

  • @INSTANCE_FILENAME@

url

The following @-variables can be used in the url key:

  • @INSTANCE_FILENAME@

Variants

environ

Same as for the experiments args key without the @EXTRA_ARGS@ variable.

extra_args

Same as for the experiments args key without the @EXTRA_ARGS@ variable.

num_nodes

Same as for the experiments args key without the @EXTRA_ARGS@ variable.

num_threads

Same as for the experiments args key without the @EXTRA_ARGS@ variable.

procs_per_node

Same as for the experiments args key without the @EXTRA_ARGS@ variable.