VecScatterCreate

Creates a vector scatter context.

Synopsis

int VecScatterCreate(Vec xin,IS ix,Vec yin,IS iy,VecScatter *newctx)
Collective on Vec

Input Parameters

xin - a vector that defines the shape (parallel data layout of the vector) of vectors from which we scatter
yin - a vector that defines the shape (parallel data layout of the vector) of vectors to which we scatter
ix - the indices of xin to scatter
iy - the indices of yin to hold results

Output Parameter

newctx -location to store the new scatter context

Notes

In calls to VecScatter() you can use different vectors than the xin andyin you used above; BUT they must have the same parallel data layout, for example, they could be obtained from VecDuplicate(). A VecScatter context CANNOT be used in two or more simultaneous scatters; that is you cannot call a second VecScatterBegin() with the same scattercontext until the VecScatterEnd() has been called on the first VecScatterBegin(). In this case a separate VecScatter is needed for each concurrent scatter.

Keywords

vector, scatter, context, create

See Also

VecScatterDestroy()

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