示例#1
0
 def any(self, axis=None):
     if self.getMesh().communicator.Nproc > 1 and (axis is None or axis == len(self.getShape()) - 1):
         def anyParallel(a):
             a = a[self._getLocalNonOverlappingIDs()]
             return self.getMesh().communicator.any(a, axis=axis)
             
         return self._axisOperator(opname="anyVar", 
                                   op=anyParallel, 
                                   axis=axis)
     else:
         return Variable.any(self, axis=axis)
示例#2
0
 def any(self, axis=None):
     if self.mesh.communicator.Nproc > 1 and (axis is None or axis == len(self.shape) - 1):
         def anyParallel(a):
             a = a[..., self._localNonOverlappingIDs]
             return self.mesh.communicator.any(a, axis=axis)
             
         return self._axisOperator(opname="anyVar", 
                                   op=anyParallel, 
                                   axis=axis)
     else:
         return Variable.any(self, axis=axis)
示例#3
0
 def any(self, axis=None):
     if parallel.Nproc > 1 and (axis is None or axis == len(self.getShape()) - 1):
         from mpi4py import MPI
         def anyParallel(a):
             a = a[self._getLocalNonOverlappingIDs()]
             return MPI.COMM_WORLD.allreduce(a.any(axis=axis), op=MPI.LOR)
             
         return self._axisOperator(opname="anyVar", 
                                   op=anyParallel, 
                                   axis=axis)
     else:
         return Variable.any(self, axis=axis)
示例#4
0
    def any(self, axis=None):
        if self.mesh.communicator.Nproc > 1 and (axis is None or axis
                                                 == len(self.shape) - 1):

            def anyParallel(a):
                a = a[..., self._localNonOverlappingIDs]
                return self.mesh.communicator.any(a, axis=axis)

            return self._axisOperator(opname="anyVar",
                                      op=anyParallel,
                                      axis=axis)
        else:
            return Variable.any(self, axis=axis)