PetscSF#

PETSc object for managing the communication of certain entries of arrays and Vec between MPI processes.

Synopsis#

typedef struct _p_PetscSF *PetscSF;

PetscSF uses the concept of star forests to indicate and determine the communication patterns concisely and efficiently. A star https://en.wikipedia.org/wiki/Star_(graph_theory) forest is simply a collection of trees of height 1. The leave nodes represent “ghost locations” for the root nodes.

The standard usage paradigm for PetscSF is to provide the communication pattern with PetscSFSetGraph() or PetscSFSetGraphWithPattern() and then perform the communication using PetscSFBcastBegin() and PetscSFBcastEnd(), PetscSFReduceBegin() and PetscSFReduceEnd().

See Also#

PetscSF - an alternative to low-level MPI calls for data communication, PetscSFCreate(), PetscSFSetGraph(), PetscSFSetGraphWithPattern(), PetscSFBcastBegin(), PetscSFBcastEnd(), PetscSFReduceBegin(), PetscSFReduceEnd(), VecScatter, VecScatterCreate()

Level#

intermediate

Location#

include/petscsftypes.h

Examples#

src/dm/tutorials/ex25.c
src/vec/is/sf/tutorials/ex3.c
src/vec/is/sf/tutorials/ex2.c
src/dm/tutorials/swarm_ex3.c
src/ts/tutorials/ex30.c
src/vec/is/sf/tutorials/ex1.c
src/dm/impls/plex/tutorials/ex15.c
src/ts/tutorials/ex11.c
src/dm/impls/plex/tutorials/ex14.c
src/vec/is/sf/tutorials/ex1f.F90

Implementations#

_p_PetscSF in include/petsc/private/sfimpl.h
PetscSF_Allgatherv in src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.h
PetscSF_Neighbor in src/vec/is/sf/impls/basic/neighbor/sfneighbor.c
PetscSF_Basic in src/vec/is/sf/impls/basic/sfbasic.h
PetscSF_Window in src/vec/is/sf/impls/window/sfwindow.c


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