petsc-3.15.0 2021-04-05
Report Typos and Errors

PetscSFBcastBegin

begin pointwise broadcast with root value being reduced to leaf value, to be concluded with call to PetscSFBcastEnd()

Synopsis

#include "petscsf.h" 
PetscErrorCode PetscSFBcastBegin(PetscSF sf,MPI_Datatype unit,const void *rootdata,void *leafdata,MPI_Op op)
Collective on PetscSF

Input Arguments

sf - star forest on which to communicate
unit - data type associated with each node
rootdata - buffer to broadcast
op - operation to use for reduction

Output Arguments

leafdata - buffer to be reduced with values from each leaf's respective root

Notes

When petsc is configured with device support, it will use its own mechanism to figure out whether the given data pointers are host pointers or device pointers, which may incur a noticable cost. If you already knew the info, you should use PetscSFBcastWithMemTypeBegin() instead.

See Also

PetscSFBcastEnd(), PetscSFBcastWithMemTypeBegin()

Level

intermediate

Location

src/vec/is/sf/interface/sf.c

Examples

src/vec/is/sf/tutorials/ex1.c.html
src/vec/is/sf/tutorials/ex2.c.html
src/vec/is/sf/tutorials/ex1f.F90.html
src/ts/tutorials/ex11.c.html

Implementations

PetscSFBcastBegin_Allgather in src/vec/is/sf/impls/basic/allgather/sfallgather.c
PetscSFBcastBegin_Allgatherv in src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.c
PetscSFBcastBegin_Alltoall in src/vec/is/sf/impls/basic/alltoall/sfalltoall.c
PetscSFBcastBegin_Gather in src/vec/is/sf/impls/basic/gather/sfgather.c
PetscSFBcastBegin_Gatherv in src/vec/is/sf/impls/basic/gatherv/sfgatherv.c
PetscSFBcastBegin_Neighbor in src/vec/is/sf/impls/basic/neighbor/sfneighbor.c
PetscSFBcastBegin_Basic in src/vec/is/sf/impls/basic/sfbasic.c
PetscSFBcastBegin_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