petsc-3.14.6 2021-03-30
Report Typos and Errors

PetscSFBcastAndOpBegin

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

Synopsis

#include "petscsf.h" 
PetscErrorCode PetscSFBcastAndOpBegin(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 PetscSFBcastAndOpWithMemTypeBegin() instead.

See Also

PetscSFBcastAndOpEnd(), PetscSFBcastBegin(), PetscSFBcastEnd(), PetscSFBcastAndOpWithMemTypeBegin()

Level

intermediate

Location

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

Examples

src/vec/is/sf/tutorials/ex1.c.html

Implementations

PetscSFBcastAndOpBegin_Allgather in src/vec/is/sf/impls/basic/allgather/sfallgather.c
PetscSFBcastAndOpBegin_Allgatherv in src/vec/is/sf/impls/basic/allgatherv/sfallgatherv.c
PetscSFBcastAndOpBegin_Alltoall in src/vec/is/sf/impls/basic/alltoall/sfalltoall.c
PetscSFBcastAndOpBegin_Gather in src/vec/is/sf/impls/basic/gather/sfgather.c
PetscSFBcastAndOpBegin_Gatherv in src/vec/is/sf/impls/basic/gatherv/sfgatherv.c
PetscSFBcastAndOpBegin_Neighbor in src/vec/is/sf/impls/basic/neighbor/sfneighbor.c
PetscSFBcastAndOpBegin_Basic in src/vec/is/sf/impls/basic/sfbasic.c
PetscSFBcastAndOpBegin_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