petsc-3.8.4 2018-03-24
Report Typos and Errors

VecCUSPGetArrayRead

Provides read access to the CUSP device vector inside a vector.

Synopsis

PETSC_EXTERN PetscErrorCode VecCUSPGetArrayRead(Vec v, CUSPARRAY **a)
This function is analogous to VecGetArrayRead(): The CUSP vector returned by this function points to a consistent view of the vector data. This may involve a copy operation of data from the host to the device if the data on the device is out of date. If the device memory hasn't been allocated previously it will be allocated as part of this function call. VecCUSPGetArrayRead() assumes that the user will not modify the vector data. This is analogous to intent(in) in Fortran.

The CUSP device vector has to be released by calling VecCUSPRestoreArrayRead(). If the data on the host side was previously up to date it will remain so, i.e. data on both the device and the host is up to date. Accessing data on the host side does not incur a device to host data transfer.

Input Parameter

v -the vector

Output Parameter

a -the CUSP device vector

Fortran note

This function is not currently available from Fortran.

See Also

VecCUSPRestoreArrayRead(), VecCUSPGetArrayReadWrite(), VecCUSPGetArrayWrite(), VecCUSPGetArrayReadWrite(), VecGetArray(), VecGetArrayRead()

Level:intermediate
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

Examples

src/snes/examples/tutorials/ex47cu.cu.html