petsc-3.12.5 2020-03-29
VecScatterInitializeForGPU
Initializes a generalized scatter from one vector to another for GPU based computation.
Synopsis
#include "petscvec.h"
PETSC_EXTERN PetscErrorCode VecScatterInitializeForGPU(VecScatter inctx,Vec x)
Input Parameters
| inctx | - scatter context generated by VecScatterCreate()
|
| x | - the vector from which we scatter
|
Notes
Effectively, this function creates all the necessary indexing buffers and work
vectors needed to move only those data points in a vector which need to
be communicated across ranks. This is done at the first time this function is
called. Currently, this only used in the context of the parallel SpMV call in
MatMult_MPIAIJCUSPARSE.
This function is executed before the call to MatMult. This enables the memory
transfers to be overlapped with the MatMult SpMV kernel call.
See Also
VecScatterFinalizeForGPU(), VecScatterCreate(), VecScatterEnd()
Level
intermediate
Location
src/vec/vscat/interface/vscatfce.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages