AOCreateMemoryScalable#
Creates a memory scalable application ordering using two integer arrays.
Synopsis#
#include "petscao.h"
PetscErrorCode AOCreateMemoryScalable(MPI_Comm comm, PetscInt napp, const PetscInt myapp[], const PetscInt mypetsc[], AO *aoout)
Collective
Input Parameters#
comm - MPI communicator that is to share the
AO
napp - size of
myapp
andmypetsc
myapp - integer array that defines an ordering
mypetsc - integer array that defines another ordering (may be
NULL
to indicate the natural ordering, that is 0,1,2,3,…)
Output Parameter#
aoout - the new application ordering
Note#
The arrays myapp
and mypetsc
must contain the all the integers 0 to napp
-1 with no duplicates; that is there cannot be any “holes”
in the indices. Use AOCreateMapping()
or AOCreateMappingIS()
if you wish to have “holes” in the indices.
Comparing with AOCreateBasic()
, this routine trades memory with message communication.
See Also#
Application Orderings, Low-level Vector Communication, AO
, AOCreateMemoryScalableIS()
, AODestroy()
, AOPetscToApplication()
, AOApplicationToPetsc()
Level#
beginner
Location#
src/vec/is/ao/impls/memscalable/aomemscalable.c
Index of all AO routines
Table of Contents for all manual pages
Index of all manual pages