LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
Classes | |
class | PickleHolder |
class | Comm |
class | NoOp |
class | Tags |
class | Cache |
class | SingletonMeta |
Metaclass to produce a singleton. More... | |
class | Debugger |
class | ReductionThread |
class | PoolNode |
class | PoolMaster |
class | PoolSlave |
class | PoolWrapperMeta |
class | PoolWrapper |
class | Pool |
Functions | |
def | unpickleInstanceMethod (obj, name) |
def | pickleInstanceMethod (method) |
def | unpickleFunction (moduleName, funcName) |
def | pickleFunction (function) |
def | getBatchType () |
def | setBatchType (batchType) |
def | abortOnError (func) |
def | guessPickleObj () |
def | pickleSniffer (abort=False) |
def | catchPicklingError (func) |
def | startPool (comm=None, root=0, killSlaves=True) |
Start a process pool. More... | |
Variables | |
string | NODE = "%s:%d" % (os.uname()[1], os.getpid()) |
def lsst.ctrl.pool.pool.abortOnError | ( | func | ) |
def lsst.ctrl.pool.pool.catchPicklingError | ( | func | ) |
def lsst.ctrl.pool.pool.getBatchType | ( | ) |
def lsst.ctrl.pool.pool.guessPickleObj | ( | ) |
def lsst.ctrl.pool.pool.pickleFunction | ( | function | ) |
Pickle a function This assumes that we can recreate the function object by grabbing it from the proper module. This may be violated if the function is a lambda or in __main__. In that case, I recommend recasting the function as an object with a __call__ method. Another problematic case may be a wrapped (e.g., decorated) method in a class: the 'method' is then a function, and recreating it is not as easy as we assume here.
Definition at line 71 of file pool.py.
def lsst.ctrl.pool.pool.pickleInstanceMethod | ( | method | ) |
def lsst.ctrl.pool.pool.pickleSniffer | ( | abort = False | ) |
Context manager to sniff out pickle problems If there's a pickle error, you're normally told what the problem class is. However, all SWIG objects are reported as "SwigPyObject". In order to figure out which actual SWIG-ed class is causing problems, we need to go digging. Use like this: with pickleSniffer(): someOperationInvolvingPickle() If 'abort' is True, will call MPI abort in the event of problems.
Definition at line 187 of file pool.py.
def lsst.ctrl.pool.pool.setBatchType | ( | batchType | ) |
def lsst.ctrl.pool.pool.startPool | ( | comm = None , |
|
root = 0 , |
|||
killSlaves = True |
|||
) |
Start a process pool.
Returns a PoolMaster object for the master node. Slave nodes are run and then optionally killed. If you elect not to kill the slaves, note that they will emerge at the point this function was called, which is likely very different from the point the master is at, so it will likely be necessary to put in some rank dependent code (e.g., look at the 'rank' attribute of the returned pools). Note that the pool objects should be deleted (either by going out of scope or explicit 'del') before program termination to avoid a segmentation fault. @param comm: MPI communicator @param root: Rank of root/master node @param killSlaves: Kill slaves on completion?
Definition at line 1216 of file pool.py.
def lsst.ctrl.pool.pool.unpickleFunction | ( | moduleName, | |
funcName | |||
) |
Unpickle a function This has to be a named function rather than a lambda because pickle needs to find it.
Definition at line 60 of file pool.py.
def lsst.ctrl.pool.pool.unpickleInstanceMethod | ( | obj, | |
name | |||
) |
Unpickle an instance method This has to be a named function rather than a lambda because pickle needs to find it.
Definition at line 37 of file pool.py.