VecScatterPostRecvs

Posts the receives required for the ready-receiver version of the VecScatter routines.

Synopsis

int VecScatterPostRecvs(Vec x,Vec y,InsertMode addv,ScatterMode mode,VecScatter inctx)
Collective on VecScatter

Input Parameters

   SCATTER_FORWARD, SCATTER_REVERSE
x - the vector from which we scatter (not needed, can be null)
y - the vector to which we scatter
addv - either ADD_VALUES or INSERT_VALUES
mode - the scattering mode, usually SCATTER_FORWARD. The available modes are:
inctx - scatter context generated by VecScatterCreate()

Output Parameter

y -the vector to which we scatter

Notes

If you use SCATTER_REVERSE the first two arguments should be reversed, fromthe SCATTER_FORWARD. The vectors x and y cannot be the same. y[iy[i]] = x[ix[i]], for i=0,...,ni- 1

This scatter is far more general than the conventionalscatter, since it can be a gather or a scatter or a combination, depending on the indices ix and iy. If x is a parallel vector and yis sequential, VecScatterBegin() can serve to gather values to asingle processor. Similarly, if y is parallel and x sequential, theroutine can scatter from one processor to many processors.

Keywords

vector, scatter, gather, begin

See Also

VecScatterCreate(), VecScatterEnd(), VecScatterBegin()

Location: src/vec/utils/vscat.c
Vector Index
Table of Contents