#include "petscsys.h" PetscErrorCode PetscCommBuildTwoSidedF(MPI_Comm comm,PetscMPIInt count,MPI_Datatype dtype,PetscMPIInt nto,const PetscMPIInt *toranks,const void *todata,PetscMPIInt *nfrom,PetscMPIInt **fromranks,void *fromdata,PetscMPIInt ntags, PetscErrorCode (*send)(MPI_Comm,const PetscMPIInt[],PetscMPIInt,PetscMPIInt,void*,MPI_Request[],void*), PetscErrorCode (*recv)(MPI_Comm,const PetscMPIInt[],PetscMPIInt,void*,MPI_Request[],void*),void *ctx)Collective on MPI_Comm Many br
comm | - communicator Many br | |
count | - number of entries to send/receive in initial rendezvous (must match on all ranks) Many br | |
dtype | - datatype to send/receive from each rank (must match on all ranks) Many br | |
nto | - number of ranks to send data to Many br | |
toranks | - ranks to send to (array of length nto) Many br | |
todata | - data to send to each rank (packed) Many br | |
ntags | - number of tags needed by send/recv callbacks Many br | |
send | - callback invoked on sending process when ready to send primary payload Many br | |
recv | - callback invoked on receiving process after delivery of rendezvous message Many br | |
ctx | - context for callbacks Many br |
nfrom | - number of ranks receiving messages from Many br | |
fromranks | - ranks receiving messages from (length nfrom; caller should PetscFree()) Many br | |
fromdata | - packed data from each rank, each with count entries of type dtype (length nfrom, caller responsible for PetscFree()) Many br |
Many br
Basic data types as well as contiguous types are supported, but non-contiguous (e.g., strided) types are not. Many br
Level:developer
Location:src/sys/utils/mpits.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages