PetscSplitOwnershipEqual#
Given a global (or local) length determines a local (or global) length via a simple formula, trying to have all local lengths equal
Synopsis#
#include "petscsys.h"
PetscErrorCode PetscSplitOwnershipEqual(MPI_Comm comm, PetscInt *n, PetscInt *N)
Collective (if n
or N
is PETSC_DECIDE
)
Input Parameters#
comm - MPI communicator that shares the object being divided
n - local length (or
PETSC_DECIDE
to have it set)N - global length (or
PETSC_DECIDE
)
Notes#
This is intended to be used with MATSCALAPACK
, where the local size must
be equal in all processes (except possibly the last one). For instance,
the local sizes when splitting N
=50 with 6 processes are 9,9,9,9,9,5
n and N cannot be both PETSC_DECIDE
If one processor calls this with n
or N
of PETSC_DECIDE
then all processors
must. Otherwise, an error is thrown in debug mode while the program will hang
in optimized (i.e. configured –with-debugging=0) mode.
See Also#
Level#
developer
Location#
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages