hpcflow.sdk.submission.schedulers package#
Submodules#
hpcflow.sdk.submission.schedulers.direct module#
- class hpcflow.sdk.submission.schedulers.direct.DirectPosix(*args, **kwargs)#
Bases:
NullScheduler
- DEFAULT_SHELL_EXECUTABLE = '/bin/bash'#
- class hpcflow.sdk.submission.schedulers.direct.DirectWindows(*args, **kwargs)#
Bases:
NullScheduler
- DEFAULT_SHELL_EXECUTABLE = 'powershell.exe'#
hpcflow.sdk.submission.schedulers.sge module#
- class hpcflow.sdk.submission.schedulers.sge.SGEPosix(cwd_switch=None, *args, **kwargs)#
Bases:
Scheduler
Notes
runs in serial by default
References
[1] https://gridscheduler.sourceforge.net/htmlman/htmlman1/qsub.html
- DEFAULT_ARRAY_ITEM_VAR = 'SGE_TASK_ID'#
- DEFAULT_ARRAY_SWITCH = '-t'#
- DEFAULT_CWD_SWITCH = '-cwd'#
- DEFAULT_DEL_CMD = 'qdel'#
- DEFAULT_JS_CMD = '#$'#
- DEFAULT_SHEBANG_ARGS = ''#
- DEFAULT_SHOW_CMD = 'qstat'#
- DEFAULT_SUBMIT_CMD = 'qsub'#
- format_array_request(num_elements)#
- format_core_request_lines(num_cores, parallel_env)#
- format_options(resources, num_elements, is_array, sub_idx)#
- format_std_stream_file_option_lines(is_array, sub_idx)#
- get_submit_command(shell, js_path, deps)#
- Parameters:
shell (Shell) –
js_path (str) –
deps (List[Tuple]) –
- Return type:
List[str]
- get_version_info()#
- parse_submission_output(stdout)#
Extract scheduler reference for a newly submitted jobscript
- Parameters:
stdout (str) –
- Return type:
str
hpcflow.sdk.submission.schedulers.slurm module#
- class hpcflow.sdk.submission.schedulers.slurm.SlurmPosix(*args, **kwargs)#
Bases:
Scheduler
Notes
runs in current working directory by default [2]
# TODO: consider getting memory usage like: https://stackoverflow.com/a/44143229/5042280
References
[1] https://manpages.org/sbatch [2] https://ri.itservices.manchester.ac.uk/csf4/batch/sge-to-slurm/
- DEFAULT_ARRAY_ITEM_VAR = 'SLURM_ARRAY_TASK_ID'#
- DEFAULT_ARRAY_SWITCH = '--array'#
- DEFAULT_DEL_CMD = 'scancel'#
- DEFAULT_JS_CMD = '#SBATCH'#
- DEFAULT_SHEBANG_ARGS = ''#
- DEFAULT_SHELL_EXECUTABLE = '/bin/bash'#
- DEFAULT_SHOW_CMD = 'squeue --me'#
- DEFAULT_SUBMIT_CMD = 'sbatch'#
- format_array_request(num_elements)#
- format_core_request_lines(num_cores, num_nodes)#
- format_options(resources, num_elements, is_array, sub_idx)#
- format_std_stream_file_option_lines(is_array, sub_idx)#
- get_submit_command(shell, js_path, deps)#
- Parameters:
shell (Shell) –
js_path (str) –
deps (List[Tuple]) –
- Return type:
List[str]
- get_version_info()#
- parse_submission_output(stdout)#
Extract scheduler reference for a newly submitted jobscript
- Parameters:
stdout (str) –
- Return type:
str
Module contents#
- class hpcflow.sdk.submission.schedulers.NullScheduler(submit_cmd=None, shell_args=None, shebang_args=None)#
Bases:
object
- DEFAULT_SHEBANG_ARGS = ''#
- DEFAULT_SHELL_ARGS = ''#
- get_submit_command(shell, js_path, deps)#
- Parameters:
shell (Shell) –
js_path (str) –
deps (List[Tuple]) –
- Return type:
List[str]
- get_version_info()#
- parse_submission_output(stdout)#
- Parameters:
stdout (str) –
- Return type:
None
- class hpcflow.sdk.submission.schedulers.Scheduler(submit_cmd=None, show_cmd=None, del_cmd=None, js_cmd=None, array_switch=None, array_item_var=None, *args, **kwargs)#
Bases:
NullScheduler
- format_switch(switch)#