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/VecCUSPGetArrayWrite.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>VecCUSPGetArrayWrite</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/VecCUSPGetArrayWrite.html "><small>Report Typos and Errors</small></a></div>
<A NAME="VecCUSPGetArrayWrite"><H1>VecCUSPGetArrayWrite</H1></A>
Provides write access to the CUSP device vector inside a vector.
<H3><FONT COLOR="#CC3333">Synopsis</FONT></H3>
<PRE>
PETSC_EXTERN PetscErrorCode VecCUSPGetArrayWrite(Vec v, CUSPARRAY **a)
</PRE>
The data pointed to by the device vector is uninitialized. The user
must not read this data. Furthermore, the entire array needs to be
filled by the user to obtain well-defined behaviour. The device
memory will be allocated by this function if it hasn't been allocated
previously. This is analogous to intent(out) in Fortran.
<P>
The CUSP device vector needs to be released with
<A HREF="../Vec/VecCUSPRestoreArrayWrite.html#VecCUSPRestoreArrayWrite">VecCUSPRestoreArrayWrite</A>(). When the pointer is released the host
data of the vector is marked as out of data. Subsequent access of
the host data with e.g. <A HREF="../Vec/VecGetArray.html#VecGetArray">VecGetArray</A>() incurs a device to host data
transfer.
<P>
<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/VecCUSPRestoreArrayWrite.html#VecCUSPRestoreArrayWrite">VecCUSPRestoreArrayWrite</A>(), <A HREF="../Vec/VecCUSPGetArrayReadWrite.html#VecCUSPGetArrayReadWrite">VecCUSPGetArrayReadWrite</A>(), <A HREF="../Vec/VecCUSPGetArrayRead.html#VecCUSPGetArrayRead">VecCUSPGetArrayRead</A>(), <A HREF="../Vec/VecCUSPGetArrayWrite.html#VecCUSPGetArrayWrite">VecCUSPGetArrayWrite</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/seqcusp/veccusp2.cu#VecCUSPGetArrayWrite">src/vec/vec/impls/seq/seqcusp/veccusp2.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>
<P><H3><FONT COLOR="#CC3333">Examples</FONT></H3>
<A HREF="../../../src/snes/examples/tutorials/ex47cu.cu.html">src/snes/examples/tutorials/ex47cu.cu.html</A><BR>
</BODY></HTML>
|