An easy to use job launcher for supercomputers with PBS compatible job manager.
- Launch multiple jobs with a single line.
- Automatically generate combinations of arguments. (see examples)
- Automatic resources management. Determine for you the optimal fit for your commands on nodes.
- Resume batch of commands.
- Easily manage logs.
- Advanced mode for complete control.
pip install git+https://github.com/SMART-Lab/smartdispatch
See smart_dispatch.py --help
Output and error logs in are saved in : ./SMART_DISPATCH_LOGS/{batch_id}/logs/.
smart_dispatch.py -q qtest@mp2 launch python my_script.py 2 80 tanh 0.1
Will launch python my_script.py 2 80 tanh 0.1 on the queue qtest@mp2.
Automatically generate commands from combinations of arguments.
smart_dispatch.py -q qtest@mp2 launch python my_script.py [1 2] 80 [tanh sigmoid] 0.1
Will generate 4 different commands and launch them on the queue qtest@mp2:
python my_script.py 1 80 sigmoid 0.1
python my_script.py 1 80 tanh 0.1
python my_script.py 2 80 sigmoid 0.1
python my_script.py 2 80 tanh 0.1
smart_dispatch.py -q qtest@mp2 resume {batch_id}
Jobs that did not terminate properly, for example, it exceeded the walltime, can be resumed using the {batch_id} given to you upon launch. Of course, all this assuming your script is resumable.
Note: Jobs are always in a batch, even if it's a batch of one.


