예제 #1
0
파일: MPI.py 프로젝트: connoryang/1v1dec
 def Allgather(self, sendbuf, recvbuf=None):
     sendbuf, sfastmode = _mpi.make_buf(sendbuf)
     recvbuf, rfastmode = _mpi.make_buf(recvbuf)
     if sfastmode or rfastmode:
         _mpi.allgather(sendbuf, recvbuf, self)
         return None
     else:
         serializer = self.SERIALIZER
         sendbuf = serializer.dump(sendbuf)
         recvbuf = _mpi.allgather_string(sendbuf, recvbuf, self)
         recvbuf = map(serializer.load, recvbuf)
         return recvbuf
예제 #2
0
파일: MPI.py 프로젝트: Pluckyduck/eve
 def Allgather(self, sendbuf, recvbuf = None):
     sendbuf, sfastmode = _mpi.make_buf(sendbuf)
     recvbuf, rfastmode = _mpi.make_buf(recvbuf)
     if sfastmode or rfastmode:
         _mpi.allgather(sendbuf, recvbuf, self)
         return None
     else:
         serializer = self.SERIALIZER
         sendbuf = serializer.dump(sendbuf)
         recvbuf = _mpi.allgather_string(sendbuf, recvbuf, self)
         recvbuf = map(serializer.load, recvbuf)
         return recvbuf
예제 #3
0
파일: MPI.py 프로젝트: connoryang/1v1dec
 def Allreduce(self, sendbuf, recvbuf=None, op=SUM):
     sendbuf, sfastmode = _mpi.make_buf(sendbuf)
     recvbuf, rfastmode = _mpi.make_buf(recvbuf)
     if sfastmode or rfastmode:
         _mpi.allreduce(sendbuf, recvbuf, op, self)
         return None
     else:
         serializer = self.SERIALIZER
         sendbuf = serializer.dump(sendbuf)
         recvbuf = _mpi.allgather_string(sendbuf, recvbuf, self)
         recvbuf = map(serializer.load, recvbuf)
         if op in (MAXLOC, MINLOC):
             recvbuf = zip(recvbuf, xrange(len(recvbuf)))
         recvbuf = reduce(op, recvbuf)
         return recvbuf
예제 #4
0
파일: MPI.py 프로젝트: Pluckyduck/eve
 def Allreduce(self, sendbuf, recvbuf = None, op = SUM):
     sendbuf, sfastmode = _mpi.make_buf(sendbuf)
     recvbuf, rfastmode = _mpi.make_buf(recvbuf)
     if sfastmode or rfastmode:
         _mpi.allreduce(sendbuf, recvbuf, op, self)
         return None
     else:
         serializer = self.SERIALIZER
         sendbuf = serializer.dump(sendbuf)
         recvbuf = _mpi.allgather_string(sendbuf, recvbuf, self)
         recvbuf = map(serializer.load, recvbuf)
         if op in (MAXLOC, MINLOC):
             recvbuf = zip(recvbuf, xrange(len(recvbuf)))
         recvbuf = reduce(op, recvbuf)
         return recvbuf