seisflows.system.lsf
This is the subclass seisflows.system.lsf.Lsf
This class provides the core utilities interaction with HPC systems which run using the Platform Load Sharing Facility (LSF) workload management platform.
Module Contents
Classes
An interface through which to submit workflows, run tasks in serial or |
Functions
|
- class seisflows.system.lsf.Lsf
Bases:
seisflows.system.cluster.Cluster
An interface through which to submit workflows, run tasks in serial or parallel, and perform other system functions.
By hiding environment details behind a python interface layer, these classes provide a consistent command set across different computing environments.
Intermediate files are written to a global scratch path self.path.SCRATCH, which must be accessible to all compute nodes.
Optionally, users can provide a local scratch path self.path.LOCAL if each compute node has its own local filesystem.
For important additional information, please see http://seisflows.readthedocs.org/en/latest/manual/
manual.html#system-configuration
- submit(submit_call=None)
Submits workflow using ‘bsub’ arguments
- run(classname, method, single=False, run_call=None, **kwargs)
Runs task multiple times in embarrassingly parallel fasion on the maui cluster
Executes classname.method(*args, **kwargs) NTASK times, each time on NPROC CPU cores
- Parameters
classname (str) – the class to run
method (str) – the method from the given classname to run
- taskid()
Provides a unique identifier for each running task
- checkpoint(path, classname, method, kwargs)
Inherits from workflow.system.workstation.Workstation
- _check_job_status(job_ids)
Queries completion status of a single job
TODO this function is mangled, needs to be rewritten
- Parameters
job (str) – job id to query
- _job_id_list(stdout, single)
Parses job id list from LSF standard output
- Parameters
stdout (str) – the output of subprocess.check_output()
single (bool) – if running a single process job, returns a list of length 1 with a single job id, else returns a list of length self.par.NTASK for all arrayed jobs
- Return type
list
- Returns
a list of array jobs that should be currently running
- _query(jobid)
Retrives job state from LSF database
- Parameters
jobid (str) – job id to query LSF system about
- seisflows.system.lsf._modify_run_call_single_proc(run_call)