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

# VecCUSPGetCUDAArrayRead

Provides read access to the CUDA buffer inside a vector.

### Synopsis

    PETSC_EXTERN PetscErrorCode VecCUSPGetCUDAArrayRead(Vec v, PetscScalar **a)

This function is analogous to VecGetArrayRead(): The pointer Many brreturned by this function points to a consistent view of the vector Many brdata. This may involve a copy operation of data from the host to the Many brdevice if the data on the device is out of date. If the device Many brmemory hasn't been allocated previously it will be allocated as part Many brof this function call. VecCUSPGetCUDAArrayRead() assumes that the Many bruser will not modify the vector data. This is analgogous to Many brintent(in) in Fortran. Many br

The CUDA device pointer has to be released by calling Many brVecCUSPRestoreCUDAArrayRead(). If the data on the host side was Many brpreviously up to date it will remain so, i.e. data on both the device Many brand the host is up to date. Accessing data on the host side does not Many brincur a device to host data transfer. Many br

### Input Parameter

v -the vector Many br

### Output Parameter

a -the CUDA pointer. Many br

### Fortran note

This function is not currently available from Fortran. Many br

Many br

### See Also

VecCUSPRestoreCUDAArrayRead(), VecCUSPGetCUDAArrayReadWrite(), VecCUSPGetCUDAArrayWrite(), VecCUSPGetArrayReadWrite(), VecCUSPGetArrayRead(), VecCUSPGetArrayWrite(), VecGetArray(), VecGetArrayRead()

Level:advanced
Location:src/vec/vec/impls/seq/seqcusp/veccusp2.cu
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages