This is a dummy example plugin for FabSim3. It is meant to showcase a minimal implementation for a FabSim3 plugin.
Simply type fabsim localhost install_plugin:FabDummy
anywhere inside your FabSim3 install directory.
- To run a dummy job, type
fabsim localhost dummy:dummy_test
. - To run an ensemble of dummy jobs, type
fabsim localhost dummy_ensemble
.
- FabDummy.py - main file containing the
fabsim localhost dummy
command implementation. - config_files/dummy_test - directory containing input data for the dummy command.
- templates/dummy - template file for running the dummy command on the remote machine.
- To run a dummy job, type
fabsim localhost dummy:dummy_test
. This does the following:
- Copy your job input, which is in
plugins/FabDummy/config_files/dummy_test
, to the remote location specified in the variableremote_path_template
indeploy/machines.yml
. - Copy the input to the remote results directory.
- Start the remote job.
- If your job runs without a scheduler (normally the case when running on localhost), you can simply wait for it to finish, or cancel the job using Ctrl+C.
- After the job has finished, the terminal becomes available again, and a message is printing indicating where the output data resides remotely.
- You can fetch the remote data using
fabsim localhost fetch_results
, and then use it as you see fit! Local results are typically locations in theresults/
subdirectory.
- Ensure the host is defined in machines.yml, and the user login information in
deploy/machines_user.yml
. - To run a dummy job, type
fabsim <machine name> dummy:dummy_test
. This does the following:
- Copy your job input, which is in
plugins/FabDummy/config_files/dummy_test
, to the remote location specified in the variableremote_path_template
indeploy/machines.yml
(not it will substitute in machine-specific variables provided in the same file). - Copy the input to the remote results directory.
- Start the remote job.
- Your job now likely runs using a scheduler, so your terminal becomes available again. Use
fabsim <machine> stat
to track its submission status, orfabsim <machine> monitor
to poll periodically for the job status. - If the stat or monitor commands do not show your job being listed, then your job has finished (successfully or unsuccessfully).
- You can then fetch the remote data using
fabsim localhost fetch_results
, and investigate the output as you see fit. Local results are typically locations in theresults/
subdirectory.
- Ensure the host is defined in machines.yml, and the user login information in
deploy/machines_user.yml
. - To run a dummy job, type
fabsim <machine name> dummy_ensemble:dummy_test
. This does the following: a. Copy your job input, which is inplugins/FabDummy/config_files/dummy_test
, to the remote location specified in the variableremote_path_template
indeploy/machines.yml
(not it will substitute in machine-specific variables provided in the same file). b. Copy the input to the remote results directory. c. Substitute in the first input file inplugins/FabDummy/config_files/dummy_test/SWEEP
, renaming it in-place to dummy.txt for the first ensemble run. d. Start the remote job. e. Repeat b-d for each other base-level file or directory inplugins/FabDummy/config_files/dummy_test/SWEEP
. - Use
fabsim <machine> job_stat
to track the submission status of your jobs, orfabsim <machine> monitor
to poll periodically for the job status. - If the stat or monitor commands do not show any jobs being listed, then all your job has finished (successfully or unsuccessfully).
- You can then fetch the remote data using
fabsim localhost fetch_results
, and investigate the output as you see fit. Local results are typically locations in the variousresults/
subdirectories.
Replicas are jobs that have identical inputs and configurations. Their outputs may be different however, e.g. due to stochastic or non-deterministic aspects of the simulation algorithm. To run each instance of the ensembles with N replicated instances, add a replicas=<N>
to your command. For example, to run a dummy ensemble with 5 replicas each, just use fabsim <machine name> dummy_ensemble:dummy_test,replicas=5
.
FabDummy contains a minimal demonstrator script of VECMA VVP 2, which compares a candidate code version output with that of a stable intermediate form. You can run this little demonstrator by typing:
fabsim localhost dummy_sif:dummy_test