Git Product home page Git Product logo

easy_slurm's Introduction

easy_slurm

easily run slurm jobs with a python dictionary of argument values to gridsearch

Specify whether to test or submit jobs (TEST_MODE), verbosity level VERBOSE, the python script py_fn and its arguments arg_grid, and non-default arguments (sbatch_args) for the slurm jobs in slurm_jobber.py:

TEST_MODE = True
VERBOSE = 2      # 0, 1, or 2

# python script to run and argument grid
py_fn = 'return_args.py'
arg_grid = {
                'int'         : [1,2,3], 
                'float'       : [0.1, 0.2, 0.3],
                'str'         : ['a','b','c'],
                'include_flag': [True, False] 
            }

# sbatch parameters (overrides defaults)
sbatch_args = {
    'minutes': 1
}

Example output:

sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_1_str_a_.out --wrap "python return_args.py --float 0.1 --include_flag --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_1_str_b_.out --wrap "python return_args.py --float 0.1 --include_flag --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_1_str_c_.out --wrap "python return_args.py --float 0.1 --include_flag --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_2_str_a_.out --wrap "python return_args.py --float 0.1 --include_flag --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_2_str_b_.out --wrap "python return_args.py --float 0.1 --include_flag --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_2_str_c_.out --wrap "python return_args.py --float 0.1 --include_flag --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_3_str_a_.out --wrap "python return_args.py --float 0.1 --include_flag --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_3_str_b_.out --wrap "python return_args.py --float 0.1 --include_flag --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_True_int_3_str_c_.out --wrap "python return_args.py --float 0.1 --include_flag --int 3 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_1_str_a_.out --wrap "python return_args.py --float 0.1 --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_1_str_b_.out --wrap "python return_args.py --float 0.1 --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_1_str_c_.out --wrap "python return_args.py --float 0.1 --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_2_str_a_.out --wrap "python return_args.py --float 0.1 --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_2_str_b_.out --wrap "python return_args.py --float 0.1 --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_2_str_c_.out --wrap "python return_args.py --float 0.1 --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_3_str_a_.out --wrap "python return_args.py --float 0.1 --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_3_str_b_.out --wrap "python return_args.py --float 0.1 --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.1_include_flag_False_int_3_str_c_.out --wrap "python return_args.py --float 0.1 --int 3 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_1_str_a_.out --wrap "python return_args.py --float 0.2 --include_flag --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_1_str_b_.out --wrap "python return_args.py --float 0.2 --include_flag --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_1_str_c_.out --wrap "python return_args.py --float 0.2 --include_flag --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_2_str_a_.out --wrap "python return_args.py --float 0.2 --include_flag --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_2_str_b_.out --wrap "python return_args.py --float 0.2 --include_flag --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_2_str_c_.out --wrap "python return_args.py --float 0.2 --include_flag --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_3_str_a_.out --wrap "python return_args.py --float 0.2 --include_flag --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_3_str_b_.out --wrap "python return_args.py --float 0.2 --include_flag --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_True_int_3_str_c_.out --wrap "python return_args.py --float 0.2 --include_flag --int 3 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_1_str_a_.out --wrap "python return_args.py --float 0.2 --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_1_str_b_.out --wrap "python return_args.py --float 0.2 --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_1_str_c_.out --wrap "python return_args.py --float 0.2 --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_2_str_a_.out --wrap "python return_args.py --float 0.2 --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_2_str_b_.out --wrap "python return_args.py --float 0.2 --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_2_str_c_.out --wrap "python return_args.py --float 0.2 --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_3_str_a_.out --wrap "python return_args.py --float 0.2 --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_3_str_b_.out --wrap "python return_args.py --float 0.2 --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.2_include_flag_False_int_3_str_c_.out --wrap "python return_args.py --float 0.2 --int 3 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_1_str_a_.out --wrap "python return_args.py --float 0.3 --include_flag --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_1_str_b_.out --wrap "python return_args.py --float 0.3 --include_flag --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_1_str_c_.out --wrap "python return_args.py --float 0.3 --include_flag --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_2_str_a_.out --wrap "python return_args.py --float 0.3 --include_flag --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_2_str_b_.out --wrap "python return_args.py --float 0.3 --include_flag --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_2_str_c_.out --wrap "python return_args.py --float 0.3 --include_flag --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_3_str_a_.out --wrap "python return_args.py --float 0.3 --include_flag --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_3_str_b_.out --wrap "python return_args.py --float 0.3 --include_flag --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_True_int_3_str_c_.out --wrap "python return_args.py --float 0.3 --include_flag --int 3 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_1_str_a_.out --wrap "python return_args.py --float 0.3 --int 1 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_1_str_b_.out --wrap "python return_args.py --float 0.3 --int 1 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_1_str_c_.out --wrap "python return_args.py --float 0.3 --int 1 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_2_str_a_.out --wrap "python return_args.py --float 0.3 --int 2 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_2_str_b_.out --wrap "python return_args.py --float 0.3 --int 2 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_2_str_c_.out --wrap "python return_args.py --float 0.3 --int 2 --str c"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_3_str_a_.out --wrap "python return_args.py --float 0.3 --int 3 --str a"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_3_str_b_.out --wrap "python return_args.py --float 0.3 --int 3 --str b"
sbatch -p all -N 1 --ntasks-per-node=1 --gres=gpu:1 --mem=17000 --time=1 --output float_0.3_include_flag_False_int_3_str_c_.out --wrap "python return_args.py --float 0.3 --int 3 --str c"

easy_slurm's People

Contributors

jcpeterson avatar

Stargazers

seb avatar

Watchers

James Cloos avatar  avatar

Forkers

eddinho

easy_slurm's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.