Job runner for scientific computing workloads
Project description
Jobrunner is a command line tool to manage and deploy computing jobs, organize complex workloads, and enforce a directory based hierarchy to enable reuse of files and bash scripts within a project. Organization details of a directory tree is encoded in Jobfiles which serve as an index of files/scripts, and indicate their purpose when deploying or setting up a job.
Functionality of Jobrunner is best understood through example projects which can be found in following repositories:
akashdhruv/boiling-simulations: A collection of high-fidelity flow/pool boiling simulations
akashdhruv/paramesh-bittree-tests: A lab notebook for performance tests of multiphysics scientific software instrument, Flash-X
akashdhruv/channel-flow: Example simulations of the channel flow problem to showcase applicability of containerization tools for scientific computing problems
Writing a Jobfile
A Jobfile provides details on functionality of each file in a directory tree along with schedular configuration
[schedular] # schedular command `bsub`, `qsub`, `slurm` or `bash` command = "slurm" options = [ "#SBATCH --ntasks=5", "#SBATCH -t 0-30:00", "#SBATCH --job-name=myjob", ] [job] setup = [] input = [] target = "target" submit = [] archive = []
Jobrunner commands
Setup: Executes
Submit: Executes
Archive: Executes
Clean: Executes
Installation
Using Python Package Index (PyPI)
pip3 install PyJobrunner
Development mode
pip3 install click && ./setup develop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.