petsc-3.7.1 2016-05-15
Report Typos and Errors

# 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,ScatterMode mode)

### Input Parameters

| inctx | - scatter context generated by VecScatterCreate() Many br
| x | - the vector from which we scatter Many br
| mode | - the scattering mode, usually SCATTER_FORWARD. The available modes are: Many brSCATTER_FORWARD or SCATTER_REVERSE Many br

Many br

### Notes

Effectively, this function creates all the necessary indexing buffers and work Many brvectors needed to move data only those data points in a vector which need to Many brbe communicated across ranks. This is done at the first time this function is Many brcalled. Currently, this only used in the context of the parallel SpMV call in Many brMatMult_MPIAIJCUSP or MatMult_MPIAIJCUSPARSE. Many br

This function is executed before the call to MatMult. This enables the memory Many brtransfers to be overlapped with the MatMult SpMV kernel call. Many br

### See Also

VecScatterFinalizeForGPU(), VecScatterCreate(), VecScatterEnd()

Level:intermediate
Location:src/vec/vec/utils/vscat.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages