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#

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#

PetscSplitOwnership(), PetscSplitOwnershipBlock()

Level#

developer

Location#

src/sys/utils/psplit.c


Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages