Skip to content

Parameters

Machine-specific parameters

Here, the default-configuration is given. If variables are in brackets <var>, they are placeholders and need to be replaced with the actual values.

FabSim3 reads these parameters prior of executing a task. It provides all parameters by concept of a global variable (env), that can be accessed and queried during task execution. Users can thus access all parameters in their scripts.

Connection

remote: "<host-url>"
# The URL of the remote machine's login node.
manual_ssh: false
# Flag to bypass paramiko and to execute direct remote SSH commands.
manual_gsissh: false
# Flag to use GSISSH instead of SSH.
manual_sshpass: false
# Flag to use sshpass within SSH (requires that either value for sshpass is set with filename of plaintext password file for this machine or SSHPASS set in environment)
ssh_monsoon_mode: false
# Flag to use 'monsoon mode', which avoids rsync and instead uses scp.

Filesystem

home_path_template: "/home/$username"
# The template for the home directory of the user on the remote machine.
# `$username` will be replaced by the value of the parameter `username`.
fabric_dir: "FabSim"
# Name for the remote FabSim3 folder holding config_files, results and scripts.
remote_path_template: "$home_path/$fabric_dir"
# Path to the FabSim3 folder on the remote machine.
more
runtime_path_template: "$home_path"
# Path to runtime accessible filesystem
temp_path_template: "/tmp/$username"
# Default location of the temporary file path
work_path_template: "$runtime_path/$fabric_dir"
# Path to run filesystem folder
local_templates_path:
- "$fabsim_root/deploy/templates"
# Locations where to look for script templates.
local_config_file_path:
- "$fabsim_root/config_files"
# Default location for local config_files.
# Gets populated with the config_files from the plugins.

Resource Allocation

nodes: 1
# Default number of nodes.
# This value might be overriden by the value of 'cores' divided by 'corespernode'.
corespernode: 1
# Default number of cores per node.
cpuspertask: 1
# Default number of CPUs per task.
nb_process: 1
# Number of processes when launch "run_ensemble" command.
cores: 16
# Number of cores per job.
cores_per_replica: "${cores}"
# Default number of cores per replica in an ensemble. - jmToDo: OBSOLETE?

Job-Manager

batch_header: no_batch
# Default batch job header template.
# These templates are located in the templates/ subdirectory.
job_dispatch: ''
# Default command to use to launch remote jobs
# e.g. qsub, empty string to launch interactively
#   (e.g. on localhost, a VM or a machine without scheduler).
stat: "qstat -u $username"
# Default command syntax for getting the job status.
job_info_command: "<e.g.: squeue --jobs $jobID>"
# Default command syntax for getting the job info.
cancel_job_command: "scancel $jobID"
# Default command for cancelling jobs.
run_command: "mpirun -np $cores"
# Default command used to launch jobs on the nodes of a specific machine.
job_name_template: '${config}_${machine_name}_${cores}${job_desc}'
# Default naming scheme used to label FabSim3 jobs.

Environment

venv : False
# Loading virtual environment on the remote machine.

Other

prevent_results_overwrite: "ignore"
# possible inputs are: ["delete","ignore","warn_only"]
# 1- delete : delete the existing results folder
# 2- ignore : ignore the existing results folder
# 2- warn_only : warn user and keep the existing results folder
rich_console: True
# enable rich Console for colorful outputs
dry_run: False
# Dry Run shows the job script generated by FabSim3 without
# submitting it to the remote machine
modules:
    all: []
    dummy: []
    loaded: []
    unloaded: []
# Default Modules to load or unload on remote, grouped by scriptname
#   (or 'all' if to be used by all scripts).
# e.g. ['cmake'].

User-specific parameters

username: "<username>"
# The username of the user on the remote machine.
# No default
local_results: "/home/john/msc/FabSim3/results"
# The local path to the results folder.
# No default
local_configs: "/home/john/msc/FabSim3/config_files"
# The local path to the config_files folder.
# No default

Plugin-specific / Simulation-specific parameters

job_wall_time: "<job-wall-time>"
# The wall time of the job on the remote machine.
# No default
partition_name: "<partition-name>"
# The budget of the user on the remote machine.
# No default

This list is by no means exhaustive. Please refer to parameters defined in the FabSim3 repository for more details.