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

VecCUDAGetArrayRead

Provides read access to the CUDA buffer inside a vector.

Synopsis

PETSC_EXTERN PetscErrorCode VecCUDAGetArrayRead(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. VecCUDAGetArrayRead() 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 brVecCUDARestoreArrayRead(). 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

VecCUDARestoreArrayRead(), VecCUDAGetArrayReadWrite(), VecCUDAGetArrayWrite(), VecGetArray(), VecGetArrayRead()

Level:intermediate
Location:
src/vec/vec/impls/seq/seqcuda/veccuda2.cu
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages