File: VecCUDAGetArrayRead.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (51 lines) | stat: -rw-r--r-- 3,123 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecCUDAGetArrayRead.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>VecCUDAGetArrayRead</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
   <div id="version" align=right><b>petsc-3.7.5 2017-01-01</b></div>
   <div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.7.5 v3.7.5 docs/manualpages/Vec/VecCUDAGetArrayRead.html "><small>Report Typos and Errors</small></a></div>
<A NAME="VecCUDAGetArrayRead"><H1>VecCUDAGetArrayRead</H1></A>
Provides read access to the CUDA buffer inside a vector. 
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
PETSC_EXTERN PetscErrorCode VecCUDAGetArrayRead(Vec v, PetscScalar **a)
</PRE>
This function is analogous to <A HREF="../Vec/VecGetArrayRead.html#VecGetArrayRead">VecGetArrayRead</A>():  The pointer
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.  <A HREF="../Vec/VecCUDAGetArrayRead.html#VecCUDAGetArrayRead">VecCUDAGetArrayRead</A>() assumes that the
user will not modify the vector data.  This is analgogous to
intent(in) in Fortran.
<P>
The CUDA device pointer has to be released by calling
<A HREF="../Vec/VecCUDARestoreArrayRead.html#VecCUDARestoreArrayRead">VecCUDARestoreArrayRead</A>().  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.
<P>
<H3><FONT COLOR="#CC3333">Input Parameter</FONT></H3>
<DT><B>v </B> -the vector
<br>
<P>
<H3><FONT COLOR="#CC3333">Output Parameter</FONT></H3>
<DT><B>a </B> -the CUDA pointer.
<br>
<P>
<H3><FONT COLOR="#CC3333">Fortran note</FONT></H3>
This function is not currently available from Fortran.
<P>

<P>
<H3><FONT COLOR="#CC3333">See Also</FONT></H3>
 <A HREF="../Vec/VecCUDARestoreArrayRead.html#VecCUDARestoreArrayRead">VecCUDARestoreArrayRead</A>(), <A HREF="../Vec/VecCUDAGetArrayReadWrite.html#VecCUDAGetArrayReadWrite">VecCUDAGetArrayReadWrite</A>(), <A HREF="../Vec/VecCUDAGetArrayWrite.html#VecCUDAGetArrayWrite">VecCUDAGetArrayWrite</A>(), <A HREF="../Vec/VecGetArray.html#VecGetArray">VecGetArray</A>(), <A HREF="../Vec/VecGetArrayRead.html#VecGetArrayRead">VecGetArrayRead</A>()
<BR><P><B><P><B><FONT COLOR="#CC3333">Level:</FONT></B>intermediate
<BR><FONT COLOR="#CC3333">Location:</FONT></B><A HREF="../../../src/vec/vec/impls/seq/seqcuda/veccuda2.cu#VecCUDAGetArrayRead">src/vec/vec/impls/seq/seqcuda/veccuda2.cu</A>
<BR><A HREF="./index.html">Index of all Vec routines</A>
<BR><A HREF="../../index.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>