def _mpi_wrap_operator_VectorArrayOperator_manage_array(obj_id): op = mpi.get_object(obj_id) array_obj_id = mpi.manage_object(op._array) subtypes = mpi.comm.gather(op._array.subtype, root=0) mpi.remove_object(obj_id) if mpi.rank0: return array_obj_id, tuple(subtypes)
def _mpi_wrap_operator_VectorArrayOperator_manage_array(obj_id, pickle_subtypes): op = mpi.get_object(obj_id) array_obj_id = mpi.manage_object(op._array) subtype = op._array.subtype if not pickle_subtypes: subtype = _register_subtype(subtype) subtypes = mpi.comm.gather(subtype, root=0) mpi.remove_object(obj_id) if mpi.rank0: return array_obj_id, tuple(subtypes)
def _mpi_wrap_operator_VectorArrayOperator_manage_array(obj_id, pickle_local_spaces): op = mpi.get_object(obj_id) array_obj_id = mpi.manage_object(op._array) local_space = op._array.space if not pickle_local_spaces: local_space = _register_local_space(local_space) local_spaces = mpi.comm.gather(local_space, root=0) mpi.remove_object(obj_id) if mpi.rank0: return array_obj_id, tuple(local_spaces)
def _mpi_wrap_operator_VectorArrayOperator_manage_array(obj_id, pickle_local_spaces): op = mpi.get_object(obj_id) array_obj_id = mpi.manage_object(op.array) local_space = op.array.space if not pickle_local_spaces: local_space = _register_local_space(local_space) local_spaces = mpi.comm.gather(local_space, root=0) mpi.remove_object(obj_id) if mpi.rank0: return array_obj_id, tuple(local_spaces)
def _mpi_wrap_operator_VectorArrayOperator_manage_array( obj_id, pickle_subtypes): op = mpi.get_object(obj_id) array_obj_id = mpi.manage_object(op._array) subtype = op._array.subtype if not pickle_subtypes: subtype = _register_subtype(subtype) subtypes = mpi.comm.gather(subtype, root=0) mpi.remove_object(obj_id) if mpi.rank0: return array_obj_id, tuple(subtypes)
def _mpi_wrap_operator_LincombOperator_manage_operators(obj_id): op = mpi.get_object(obj_id) obj_ids = [mpi.manage_object(o) for o in op.operators] mpi.remove_object(obj_id) if mpi.rank0: return obj_ids