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)
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)
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)