seisflows.system.lsf ==================== .. py:module:: seisflows.system.lsf .. autoapi-nested-parse:: 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. Classes ------- .. autoapisummary:: seisflows.system.lsf.Lsf Functions --------- .. autoapisummary:: seisflows.system.lsf._modify_run_call_single_proc Module Contents --------------- .. py:class:: Lsf Bases: :py:obj:`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 .. py:method:: submit(submit_call=None) Submits workflow using 'bsub' arguments .. py:method:: 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 :type classname: str :param classname: the class to run :type method: str :param method: the method from the given `classname` to run .. py:method:: taskid() Provides a unique identifier for each running task .. py:method:: checkpoint(path, classname, method, kwargs) Inherits from workflow.system.workstation.Workstation .. py:method:: _check_job_status(job_ids) Queries completion status of a single job TODO this function is mangled, needs to be rewritten :type job: str :param job: job id to query .. py:method:: _job_id_list(stdout, single) Parses job id list from LSF standard output :type stdout: str :param stdout: the output of subprocess.check_output() :type single: bool :param single: 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 :rtype: list :return: a list of array jobs that should be currently running .. py:method:: _query(jobid) Retrives job state from LSF database :type jobid: str :param jobid: job id to query LSF system about .. py:function:: _modify_run_call_single_proc(run_call)