lsst.ctrl.pool  20.0.0+ae1f90c85c
Public Member Functions | Public Attributes | List of all members
lsst.ctrl.pool.parallel.Batch Class Reference
Inheritance diagram for lsst.ctrl.pool.parallel.Batch:
lsst.ctrl.pool.parallel.PbsBatch lsst.ctrl.pool.parallel.SlurmBatch lsst.ctrl.pool.parallel.SmpBatch

Public Member Functions

def __init__ (self, outputDir=None, numNodes=0, numProcsPerNode=0, numCores=0, queue=None, jobName=None, walltime=0.0, dryrun=False, doExec=False, mpiexec="", submit=None, options=None, verbose=False)
 Constructor. More...
 
def shebang (self)
 
def preamble (self, command, walltime=None)
 
def execution (self, command)
 
def createScript (self, command, walltime=None)
 Create script to be submitted. More...
 
def submitCommand (self, scriptName)
 Return command to submit script. More...
 
def run (self, command, walltime=None)
 Run the batch system. More...
 

Public Attributes

 outputDir
 
 numNodes
 
 numProcsPerNode
 
 numCores
 
 queue
 
 jobName
 
 walltime
 
 dryrun
 
 doExec
 
 mpiexec
 
 submit
 
 options
 
 verbose
 

Detailed Description

Base class for batch submission

Definition at line 68 of file parallel.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.ctrl.pool.parallel.Batch.__init__ (   self,
  outputDir = None,
  numNodes = 0,
  numProcsPerNode = 0,
  numCores = 0,
  queue = None,
  jobName = None,
  walltime = 0.0,
  dryrun = False,
  doExec = False,
  mpiexec = "",
  submit = None,
  options = None,
  verbose = False 
)

Constructor.

Parameters
outputDiroutput directory, or None
numNodesnumber of nodes
numProcsPerNodenumber of processors per node
numCoresnumber of cores (Slurm, SMP only)
queuename of queue, or None
jobNamename of job, or None
walltimemaximum wall clock time for job
dryrunDry run (only print actions that would be taken)?
doExecexec the script instead of submitting to batch system?
mpiexecoptions for mpiexec
submitcommand-line options for batch submission (e.g., for qsub, sbatch)
optionsoptions to append to script header (e.g., #PBS or #SBATCH)
verboseproduce verbose output?

Definition at line 71 of file parallel.py.

Member Function Documentation

◆ createScript()

def lsst.ctrl.pool.parallel.Batch.createScript (   self,
  command,
  walltime = None 
)

Create script to be submitted.

Parameters
commandcommand to run
walltimemaximum wall clock time, overrides value to constructor
Returns
name of script on filesystem

Definition at line 138 of file parallel.py.

◆ execution()

def lsst.ctrl.pool.parallel.Batch.execution (   self,
  command 
)
Return execution string for script to be submitted

Definition at line 117 of file parallel.py.

◆ preamble()

def lsst.ctrl.pool.parallel.Batch.preamble (   self,
  command,
  walltime = None 
)
Return preamble string for script to be submitted

Most batch systems allow you to embed submission options as comments here.

Definition at line 110 of file parallel.py.

◆ run()

def lsst.ctrl.pool.parallel.Batch.run (   self,
  command,
  walltime = None 
)

Run the batch system.

Creates and submits the script to execute the provided command

Parameters
commandcommand to run
walltimemaximum wall clock time, overrides value to constructor
Returns
name of script on filesystem

Definition at line 164 of file parallel.py.

◆ shebang()

def lsst.ctrl.pool.parallel.Batch.shebang (   self)

Definition at line 107 of file parallel.py.

◆ submitCommand()

def lsst.ctrl.pool.parallel.Batch.submitCommand (   self,
  scriptName 
)

Return command to submit script.

Parameters
scriptNamename of script on filesystem

Reimplemented in lsst.ctrl.pool.parallel.SmpBatch, lsst.ctrl.pool.parallel.SlurmBatch, and lsst.ctrl.pool.parallel.PbsBatch.

Definition at line 157 of file parallel.py.

Member Data Documentation

◆ doExec

lsst.ctrl.pool.parallel.Batch.doExec

Definition at line 99 of file parallel.py.

◆ dryrun

lsst.ctrl.pool.parallel.Batch.dryrun

Definition at line 98 of file parallel.py.

◆ jobName

lsst.ctrl.pool.parallel.Batch.jobName

Definition at line 96 of file parallel.py.

◆ mpiexec

lsst.ctrl.pool.parallel.Batch.mpiexec

Definition at line 100 of file parallel.py.

◆ numCores

lsst.ctrl.pool.parallel.Batch.numCores

Definition at line 94 of file parallel.py.

◆ numNodes

lsst.ctrl.pool.parallel.Batch.numNodes

Definition at line 92 of file parallel.py.

◆ numProcsPerNode

lsst.ctrl.pool.parallel.Batch.numProcsPerNode

Definition at line 93 of file parallel.py.

◆ options

lsst.ctrl.pool.parallel.Batch.options

Definition at line 102 of file parallel.py.

◆ outputDir

lsst.ctrl.pool.parallel.Batch.outputDir

Definition at line 91 of file parallel.py.

◆ queue

lsst.ctrl.pool.parallel.Batch.queue

Definition at line 95 of file parallel.py.

◆ submit

lsst.ctrl.pool.parallel.Batch.submit

Definition at line 101 of file parallel.py.

◆ verbose

lsst.ctrl.pool.parallel.Batch.verbose

Definition at line 103 of file parallel.py.

◆ walltime

lsst.ctrl.pool.parallel.Batch.walltime

Definition at line 97 of file parallel.py.


The documentation for this class was generated from the following file: