|
LSST Applications g0da5cf3356+25b44625d0,g17e5ecfddb+50a5ac4092,g1c76d35bf8+585f0f68a2,g295839609d+8ef6456700,g2e2c1a68ba+cc1f6f037e,g38293774b4+62d12e78cb,g3b44f30a73+2891c76795,g48ccf36440+885b902d19,g4b2f1765b6+0c565e8f25,g5320a0a9f6+bd4bf1dc76,g56364267ca+403c24672b,g56b687f8c9+585f0f68a2,g5c4744a4d9+78cd207961,g5ffd174ac0+bd4bf1dc76,g6075d09f38+3075de592a,g667d525e37+cacede5508,g6f3e93b5a3+da81c812ee,g71f27ac40c+cacede5508,g7212e027e3+eb621d73aa,g774830318a+18d2b9fa6c,g7985c39107+62d12e78cb,g79ca90bc5c+fa2cc03294,g881bdbfe6c+cacede5508,g91fc1fa0cf+82a115f028,g961520b1fb+2534687f64,g96f01af41f+f2060f23b6,g9ca82378b8+cacede5508,g9d27549199+78cd207961,gb065e2a02a+ad48cbcda4,gb1df4690d6+585f0f68a2,gb35d6563ee+62d12e78cb,gbc3249ced9+bd4bf1dc76,gbec6a3398f+bd4bf1dc76,gd01420fc67+bd4bf1dc76,gd59336e7c4+c7bb92e648,gf46e8334de+81c9a61069,gfed783d017+bd4bf1dc76,v25.0.1.rc3
LSST Data Management Base Package
|
Public Member Functions | |
| def | __new__ (cls, comm=mpi.COMM_WORLD, recvSleep=0.1, barrierSleep=0.1) |
| Construct an MPI.Comm wrapper. More... | |
| def | recv (self, obj=None, source=0, tag=0, status=None) |
| def | send (self, obj=None, *args, **kwargs) |
| def | Barrier (self, tag=0) |
| def | broadcast (self, value, root=0) |
| def | scatter (self, dataList, root=0, tag=0) |
| def | Free (self) |
Wrapper to mpi4py's MPI.Intracomm class to avoid busy-waiting. As suggested by Lisandro Dalcin at: * http://code.google.com/p/mpi4py/issues/detail?id=4 and * https://groups.google.com/forum/?fromgroups=#!topic/mpi4py/nArVuMXyyZI
| def lsst.ctrl.pool.pool.Comm.__new__ | ( | cls, | |
comm = mpi.COMM_WORLD, |
|||
recvSleep = 0.1, |
|||
barrierSleep = 0.1 |
|||
| ) |
Construct an MPI.Comm wrapper.
@param cls Class
@param comm MPI.Intracomm to wrap a duplicate of
@param recvSleep Sleep time (seconds) for recv()
@param barrierSleep Sleep time (seconds) for Barrier()
Definition at line 251 of file pool.py.
| def lsst.ctrl.pool.pool.Comm.Barrier | ( | self, | |
tag = 0 |
|||
| ) |
Version of comm.Barrier() that doesn't busy-wait A duplicate communicator is used so as not to interfere with the user's own communications.
Definition at line 281 of file pool.py.
| def lsst.ctrl.pool.pool.Comm.broadcast | ( | self, | |
| value, | |||
root = 0 |
|||
| ) |
| def lsst.ctrl.pool.pool.Comm.Free | ( | self | ) |
| def lsst.ctrl.pool.pool.Comm.recv | ( | self, | |
obj = None, |
|||
source = 0, |
|||
tag = 0, |
|||
status = None |
|||
| ) |
Version of comm.recv() that doesn't busy-wait
Definition at line 265 of file pool.py.
| def lsst.ctrl.pool.pool.Comm.scatter | ( | self, | |
| dataList, | |||
root = 0, |
|||
tag = 0 |
|||
| ) |
Scatter data across the nodes
The default version apparently pickles the entire 'dataList',
which can cause errors if the pickle size grows over 2^31 bytes
due to fundamental problems with pickle in python 2. Instead,
we send the data to each slave node in turn; this reduces the
pickle size.
@param dataList List of data to distribute; one per node
(including root)
@param root Index of root node
@param tag Message tag (integer)
@return Data for this node
Definition at line 306 of file pool.py.
| def lsst.ctrl.pool.pool.Comm.send | ( | self, | |
obj = None, |
|||
| * | args, | ||
| ** | kwargs | ||
| ) |