Sophie

Sophie

distrib > Mageia > 2 > i586 > media > nonfree-release > by-pkgid > f86555c654b1f4a4c7ccf47789979868 > files > 893

nvidia-cuda-toolkit-devel-4.2.9-2.mga2.nonfree.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>NVIDIA CUDA Library: cudaMemcpy3DAsync</title>
<link href="customdoxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
  <div class="navpath"><a class="el" href="group__CUDART__MEMORY.html">Memory Management</a>
  </div>
<table cellspacing="0" cellpadding="0" border="0">
  <tr>
   <td valign="top">
      <div class="navtab">
        <table>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g9822e18349b1a7b91f45e8bea158720d.html#g9822e18349b1a7b91f45e8bea158720d">cudaArrayGetInfo</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gb17fef862d4d1fefb9dba35bd62a187e.html#gb17fef862d4d1fefb9dba35bd62a187e">cudaFree</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g87eb9f7a50c1f43aee18bdcfde3f4340.html#g87eb9f7a50c1f43aee18bdcfde3f4340">cudaFreeArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gedaeb2708ad3f74d5b417ee1874ec84a.html#gedaeb2708ad3f74d5b417ee1874ec84a">cudaFreeHost</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g2db2376f8fb4203df2fa9e104e16978e.html#g2db2376f8fb4203df2fa9e104e16978e">cudaGetSymbolAddress</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8423ddbee69126e5507178f1567b05f1.html#g8423ddbee69126e5507178f1567b05f1">cudaGetSymbolSize</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g15a3871f15f8c38f5b7190946845758c.html#g15a3871f15f8c38f5b7190946845758c">cudaHostAlloc</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ga475419a9b21a66036029d5001ea908c.html#ga475419a9b21a66036029d5001ea908c">cudaHostGetDevicePointer</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gebe2eb6246522d683325c41c65ff427c.html#gebe2eb6246522d683325c41c65ff427c">cudaHostGetFlags</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g36b9fe28f547f28d23742e8c7cd18141.html#g36b9fe28f547f28d23742e8c7cd18141">cudaHostRegister</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gc07b1312c60ca36c118e2ed71b192afe.html#gc07b1312c60ca36c118e2ed71b192afe">cudaHostUnregister</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gc63ffd93e344b939d6399199d8b12fef.html#gc63ffd93e344b939d6399199d8b12fef">cudaMalloc</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g04a7553c90322aef32f8544d5c356a10.html#g04a7553c90322aef32f8544d5c356a10">cudaMalloc3D</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g4a8473bad5109b6cf1794b4154cc3e0d.html#g4a8473bad5109b6cf1794b4154cc3e0d">cudaMalloc3DArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gf0689399573bd8a922351aae4d040349.html#gf0689399573bd8a922351aae4d040349">cudaMallocArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g9f93d9600f4504e0d637ceb43c91ebad.html#g9f93d9600f4504e0d637ceb43c91ebad">cudaMallocHost</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g80d689bc903792f906e49be4a0b6d8db.html#g80d689bc903792f906e49be4a0b6d8db">cudaMallocPitch</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g48efa06b81cc031b2aa6fdc2e9930741.html#g48efa06b81cc031b2aa6fdc2e9930741">cudaMemcpy</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g17f3a55e8c9aef5f90b67cdf22851375.html#g17f3a55e8c9aef5f90b67cdf22851375">cudaMemcpy2D</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gf8948b8a08e0a07eb7b9087a0b7112b5.html#gf8948b8a08e0a07eb7b9087a0b7112b5">cudaMemcpy2DArrayToArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gedfe4cb63f692bde9dcbfc9a74d9a70c.html#gedfe4cb63f692bde9dcbfc9a74d9a70c">cudaMemcpy2DAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g96eddd33b321e91d6fb1b9f337bf5a47.html#g96eddd33b321e91d6fb1b9f337bf5a47">cudaMemcpy2DFromArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g97d8bb906a67e3d8949ce7b8a22339ad.html#g97d8bb906a67e3d8949ce7b8a22339ad">cudaMemcpy2DFromArrayAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f.html#g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f">cudaMemcpy2DToArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8603102f7fcacec84a90bc7de6f1c0ac.html#g8603102f7fcacec84a90bc7de6f1c0ac">cudaMemcpy2DToArrayAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gc1372614eb614f4689fbb82b4692d30a.html#gc1372614eb614f4689fbb82b4692d30a">cudaMemcpy3D</a></td></tr>
          <tr><td class="navtab"><a class="qindexHL" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5">cudaMemcpy3DAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g2897b87e2e827cb1eb439ad00681dd90.html#g2897b87e2e827cb1eb439ad00681dd90">cudaMemcpy3DPeer</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g6dcdbe4854c6743e5086ab7805469cd9.html#g6dcdbe4854c6743e5086ab7805469cd9">cudaMemcpy3DPeerAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gd4fe90634d880eff1c37d98d31667638.html#gd4fe90634d880eff1c37d98d31667638">cudaMemcpyArrayToArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g732efed5ab5cb184c920a21eb36e8ce4.html#g732efed5ab5cb184c920a21eb36e8ce4">cudaMemcpyAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g1620c76fb3337df8dc7186fd88f40b1a.html#g1620c76fb3337df8dc7186fd88f40b1a">cudaMemcpyFromArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gab04836288a17fba1d25e782eeba4d1c.html#gab04836288a17fba1d25e782eeba4d1c">cudaMemcpyFromArrayAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g4c9806709c42dc214a4b4ad8f53c9417.html#g4c9806709c42dc214a4b4ad8f53c9417">cudaMemcpyFromSymbol</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gf9d3f125f642cc52a3956a7a166c5440.html#gf9d3f125f642cc52a3956a7a166c5440">cudaMemcpyFromSymbolAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g046702971bc5a66d9bc6000682a6d844.html#g046702971bc5a66d9bc6000682a6d844">cudaMemcpyPeer</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8ff91443cbf4bb9334bec897ac7d6691.html#g8ff91443cbf4bb9334bec897ac7d6691">cudaMemcpyPeerAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g06db36948e3ccda65d1adf3529420696.html#g06db36948e3ccda65d1adf3529420696">cudaMemcpyToArray</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gb31b93fd9791e2303d8b18d8488436d3.html#gb31b93fd9791e2303d8b18d8488436d3">cudaMemcpyToArrayAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gf268fa2004636b6926fdcd3189152a14.html#gf268fa2004636b6926fdcd3189152a14">cudaMemcpyToSymbol</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gdccfec28709fbef22da701a4e619c1ac.html#gdccfec28709fbef22da701a4e619c1ac">cudaMemcpyToSymbolAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gd5d6772f4b2f3355078ecd6059e6aa74.html#gd5d6772f4b2f3355078ecd6059e6aa74">cudaMemGetInfo</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ge07c97b96efd09abaeb3ca3b5f8da4ee.html#ge07c97b96efd09abaeb3ca3b5f8da4ee">cudaMemset</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g2b3248e96aaba2241796e113d1798db3.html#g2b3248e96aaba2241796e113d1798db3">cudaMemset2D</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g231613b675c00ba22b0546ff7a8dba03.html#g231613b675c00ba22b0546ff7a8dba03">cudaMemset2DAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g35171e821992f71d3c50f17032e079dc.html#g35171e821992f71d3c50f17032e079dc">cudaMemset3D</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8d85383f93c169992ba00d37bb0759a6.html#g8d85383f93c169992ba00d37bb0759a6">cudaMemset3DAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8b8a9a93a551167acff173f384fda09d.html#g8b8a9a93a551167acff173f384fda09d">cudaMemsetAsync</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g6ce5d637817b7693f6c2601aef21a294.html#g6ce5d637817b7693f6c2601aef21a294">make_cudaExtent</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g47a7d89a9b1361212ac4ac3998670e0d.html#g47a7d89a9b1361212ac4ac3998670e0d">make_cudaPitchedPtr</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g4b92d505f9e7fd353d467fd404d31a83.html#g4b92d505f9e7fd353d467fd404d31a83">make_cudaPos</a></td></tr>
        </table>
      </div>
   </td>
   <td valign="top">
<a class="anchor" name="g6ee90dad01ae562e08405ce8131bbdc5"></a><!-- doxytag: member="cuda_runtime_api.h::cudaMemcpy3DAsync" ref="g6ee90dad01ae562e08405ce8131bbdc5" args="(const struct cudaMemcpy3DParms *p, cudaStream_t stream=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__CUDART__TYPES_gf599e5b8b829ce7db0f5216928f6ecb6.html#gf599e5b8b829ce7db0f5216928f6ecb6">cudaError_t</a> cudaMemcpy3DAsync           </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structcudaMemcpy3DParms.html">cudaMemcpy3DParms</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__CUDART__TYPES_ge15d9c8b7a240312b533d6122558085a.html#ge15d9c8b7a240312b533d6122558085a">cudaStream_t</a>&nbsp;</td>
          <td class="paramname"> <em>stream</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<div class="fragment"><pre class="fragment"><span class="keyword">struct </span><a class="code" href="structcudaExtent.html">cudaExtent</a> {
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaExtent_774b7b99b827dbd9f5456041b20ab319.html#774b7b99b827dbd9f5456041b20ab319">width</a>;
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaExtent_52b01e552a3d6b36e2b17fae948414f7.html#52b01e552a3d6b36e2b17fae948414f7">height</a>;
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaExtent_ba8ba71ca34c3875ec3f8f7e064af750.html#ba8ba71ca34c3875ec3f8f7e064af750">depth</a>;
};
<span class="keyword">struct </span><a class="code" href="structcudaExtent.html">cudaExtent</a> <a class="code" href="group__CUDART__MEMORY_g6ce5d637817b7693f6c2601aef21a294.html#g6ce5d637817b7693f6c2601aef21a294" title="Returns a cudaExtent based on input parameters.">make_cudaExtent</a>(size_t w, size_t h, size_t d);

<span class="keyword">struct </span><a class="code" href="structcudaPos.html">cudaPos</a> {
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaPos_ee81d58a0ea213f0136b9f25cbfade0d.html#ee81d58a0ea213f0136b9f25cbfade0d">x</a>;
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaPos_211bae4c3bc936237f34237d04d98088.html#211bae4c3bc936237f34237d04d98088">y</a>;
  <span class="keywordtype">size_t</span> <a class="code" href="structcudaPos_42abb5eb62901902e70965a2ddf860b0.html#42abb5eb62901902e70965a2ddf860b0">z</a>;
};
<span class="keyword">struct </span><a class="code" href="structcudaPos.html">cudaPos</a> <a class="code" href="group__CUDART__MEMORY_g4b92d505f9e7fd353d467fd404d31a83.html#g4b92d505f9e7fd353d467fd404d31a83" title="Returns a cudaPos based on input parameters.">make_cudaPos</a>(size_t <a class="code" href="structcudaPos_ee81d58a0ea213f0136b9f25cbfade0d.html#ee81d58a0ea213f0136b9f25cbfade0d">x</a>, size_t <a class="code" href="structcudaPos_211bae4c3bc936237f34237d04d98088.html#211bae4c3bc936237f34237d04d98088">y</a>, size_t <a class="code" href="structcudaPos_42abb5eb62901902e70965a2ddf860b0.html#42abb5eb62901902e70965a2ddf860b0">z</a>);

<span class="keyword">struct </span><a class="code" href="structcudaMemcpy3DParms.html">cudaMemcpy3DParms</a> {
  <span class="keyword">struct </span>cudaArray     *<a class="code" href="structcudaMemcpy3DParms_9424d3b85fddf34b7d54f5111bf70131.html#9424d3b85fddf34b7d54f5111bf70131">srcArray</a>;
  <span class="keyword">struct </span><a class="code" href="structcudaPos.html">cudaPos</a>        <a class="code" href="structcudaMemcpy3DParms_36e02256b567dca1b3099d7a6a3b6d4b.html#36e02256b567dca1b3099d7a6a3b6d4b">srcPos</a>;
  <span class="keyword">struct </span><a class="code" href="structcudaPitchedPtr.html">cudaPitchedPtr</a> <a class="code" href="structcudaMemcpy3DParms_2c0214914f84710757a07cc679b01397.html#2c0214914f84710757a07cc679b01397">srcPtr</a>;
  <span class="keyword">struct </span>cudaArray     *<a class="code" href="structcudaMemcpy3DParms_6f08fec3eddabe68faa9c8af7aa5f987.html#6f08fec3eddabe68faa9c8af7aa5f987">dstArray</a>;
  <span class="keyword">struct </span><a class="code" href="structcudaPos.html">cudaPos</a>        <a class="code" href="structcudaMemcpy3DParms_62d0ce8f8030683a365c9fc58b0b4d45.html#62d0ce8f8030683a365c9fc58b0b4d45">dstPos</a>;
  <span class="keyword">struct </span><a class="code" href="structcudaPitchedPtr.html">cudaPitchedPtr</a> <a class="code" href="structcudaMemcpy3DParms_5541621b6b654ecae4d5cab526ddd70e.html#5541621b6b654ecae4d5cab526ddd70e">dstPtr</a>;
  <span class="keyword">struct </span><a class="code" href="structcudaExtent.html">cudaExtent</a>     <a class="code" href="structcudaMemcpy3DParms_1a54c24021add984df530442dd65ec1c.html#1a54c24021add984df530442dd65ec1c">extent</a>;
  <span class="keyword">enum</span> <a class="code" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#g18fa99055ee694244a270e4d5101e95b">cudaMemcpyKind</a>   <a class="code" href="structcudaMemcpy3DParms_0caa37ba0134b351170924565d07be20.html#0caa37ba0134b351170924565d07be20">kind</a>;
};
</pre></div><p>
<a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> copies data betwen two 3D objects. The source and destination objects may be in either host memory, device memory, or a CUDA array. The source, destination, extent, and kind of copy performed is specified by the <a class="el" href="structcudaMemcpy3DParms.html">cudaMemcpy3DParms</a> struct which should be initialized to zero before use: <div class="fragment"><pre class="fragment"><a class="code" href="structcudaMemcpy3DParms.html">cudaMemcpy3DParms</a> myParms = {0};
</pre></div><p>
The struct passed to <a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> must specify one of <code>srcArray</code> or <code>srcPtr</code> and one of <code>dstArray</code> or <code>dstPtr</code>. Passing more than one non-zero source or destination will cause <a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> to return an error.<p>
The <code>srcPos</code> and <code>dstPos</code> fields are optional offsets into the source and destination objects and are defined in units of each object's elements. The element for a host or device pointer is assumed to be <b>unsigned char</b>. For CUDA arrays, positions must be in the range [0, 2048) for any dimension.<p>
The <code>extent</code> field defines the dimensions of the transferred area in elements. If a CUDA array is participating in the copy, the extent is defined in terms of that array's elements. If no CUDA array is participating in the copy then the extents are defined in elements of <b>unsigned char</b>.<p>
The <code>kind</code> field defines the direction of the copy. It must be one of <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95bdeec295de8a74ac2a74f98ffb6c5d7c7">cudaMemcpyHostToHost</a>, <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95b1a03d03a676ea8ec51b9b1e193617568">cudaMemcpyHostToDevice</a>, <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95b5653197602d3455a530db5a7edb1a253">cudaMemcpyDeviceToHost</a>, or <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95b783338534304281650c6cb1363f5a00a">cudaMemcpyDeviceToDevice</a>.<p>
If the source and destination are both arrays, <a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> will return an error if they do not have the same element size.<p>
The source and destination object may not overlap. If overlapping source and destination objects are specified, undefined behavior will result.<p>
The source object must lie entirely within the region defined by <code>srcPos</code> and <code>extent</code>. The destination object must lie entirely within the region defined by <code>dstPos</code> and <code>extent</code>.<p>
<a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> returns an error if the pitch of <code>srcPtr</code> or <code>dstPtr</code> exceeds the maximum allowed. The pitch of a <a class="el" href="structcudaPitchedPtr.html">cudaPitchedPtr</a> allocated with <a class="el" href="group__CUDART__MEMORY_g04a7553c90322aef32f8544d5c356a10.html#g04a7553c90322aef32f8544d5c356a10" title="Allocates logical 1D, 2D, or 3D memory objects on the device.">cudaMalloc3D()</a> will always be valid.<p>
<a class="el" href="group__CUDART__MEMORY_g6ee90dad01ae562e08405ce8131bbdc5.html#g6ee90dad01ae562e08405ce8131bbdc5" title="Copies data between 3D objects.">cudaMemcpy3DAsync()</a> is asynchronous with respect to the host, so the call may return before the copy is complete. The copy can optionally be associated to a stream by passing a non-zero <code>stream</code> argument. If <code>kind</code> is <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95b1a03d03a676ea8ec51b9b1e193617568">cudaMemcpyHostToDevice</a> or <a class="el" href="group__CUDART__TYPES_g18fa99055ee694244a270e4d5101e95b.html#gg18fa99055ee694244a270e4d5101e95b5653197602d3455a530db5a7edb1a253">cudaMemcpyDeviceToHost</a> and <code>stream</code> is non-zero, the copy may overlap with operations in other streams.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>- 3D memory copy parameters </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>- Stream identifier</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e0038e355f04607d824883b4a50662830d591">cudaSuccess</a>, <a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e00383e8aef5398ee38e28ed41e357b48917c">cudaErrorInvalidValue</a>, <a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e00385fa2f00ab72ab5cf649a0a32351a20bf">cudaErrorInvalidDevicePointer</a>, <a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e0038225c65c0348cced651d5dd87ccc22f48">cudaErrorInvalidPitchValue</a>, <a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e003872ce39cee8ef48a83b0191b2e33d2630">cudaErrorInvalidMemcpyDirection</a> </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Note that this function may also return error codes from previous, asynchronous launches. <p>
This function exhibits <a class="el" href="sync_async.html#MemcpyAsynchronousBehavior">asynchronous</a> behavior for most use cases.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__CUDART__MEMORY_g04a7553c90322aef32f8544d5c356a10.html#g04a7553c90322aef32f8544d5c356a10" title="Allocates logical 1D, 2D, or 3D memory objects on the device.">cudaMalloc3D</a>, <a class="el" href="group__CUDART__MEMORY_g4a8473bad5109b6cf1794b4154cc3e0d.html#g4a8473bad5109b6cf1794b4154cc3e0d" title="Allocate an array on the device.">cudaMalloc3DArray</a>, <a class="el" href="group__CUDART__MEMORY_g35171e821992f71d3c50f17032e079dc.html#g35171e821992f71d3c50f17032e079dc" title="Initializes or sets device memory to a value.">cudaMemset3D</a>, <a class="el" href="group__CUDART__MEMORY_gc1372614eb614f4689fbb82b4692d30a.html#gc1372614eb614f4689fbb82b4692d30a" title="Copies data between 3D objects.">cudaMemcpy3D</a>, <a class="el" href="group__CUDART__MEMORY_g48efa06b81cc031b2aa6fdc2e9930741.html#g48efa06b81cc031b2aa6fdc2e9930741" title="Copies data between host and device.">cudaMemcpy</a>, <a class="el" href="group__CUDART__MEMORY_g17f3a55e8c9aef5f90b67cdf22851375.html#g17f3a55e8c9aef5f90b67cdf22851375" title="Copies data between host and device.">cudaMemcpy2D</a>, <a class="el" href="group__CUDART__MEMORY_g06db36948e3ccda65d1adf3529420696.html#g06db36948e3ccda65d1adf3529420696" title="Copies data between host and device.">cudaMemcpyToArray</a>, <a class="el" href="group__CUDART__MEMORY_g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f.html#g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f" title="Copies data between host and device.">cudaMemcpy2DToArray</a>, <a class="el" href="group__CUDART__MEMORY_g1620c76fb3337df8dc7186fd88f40b1a.html#g1620c76fb3337df8dc7186fd88f40b1a" title="Copies data between host and device.">cudaMemcpyFromArray</a>, <a class="el" href="group__CUDART__MEMORY_g96eddd33b321e91d6fb1b9f337bf5a47.html#g96eddd33b321e91d6fb1b9f337bf5a47" title="Copies data between host and device.">cudaMemcpy2DFromArray</a>, <a class="el" href="group__CUDART__MEMORY_gd4fe90634d880eff1c37d98d31667638.html#gd4fe90634d880eff1c37d98d31667638" title="Copies data between host and device.">cudaMemcpyArrayToArray</a>, <a class="el" href="group__CUDART__MEMORY_gf8948b8a08e0a07eb7b9087a0b7112b5.html#gf8948b8a08e0a07eb7b9087a0b7112b5" title="Copies data between host and device.">cudaMemcpy2DArrayToArray</a>, <a class="el" href="group__CUDART__MEMORY_gf268fa2004636b6926fdcd3189152a14.html#gf268fa2004636b6926fdcd3189152a14" title="Copies data to the given symbol on the device.">cudaMemcpyToSymbol</a>, <a class="el" href="group__CUDART__MEMORY_g4c9806709c42dc214a4b4ad8f53c9417.html#g4c9806709c42dc214a4b4ad8f53c9417" title="Copies data from the given symbol on the device.">cudaMemcpyFromSymbol</a>, <a class="el" href="group__CUDART__MEMORY_g732efed5ab5cb184c920a21eb36e8ce4.html#g732efed5ab5cb184c920a21eb36e8ce4" title="Copies data between host and device.">cudaMemcpyAsync</a>, <a class="el" href="group__CUDART__MEMORY_gedfe4cb63f692bde9dcbfc9a74d9a70c.html#gedfe4cb63f692bde9dcbfc9a74d9a70c" title="Copies data between host and device.">cudaMemcpy2DAsync</a>, <a class="el" href="group__CUDART__MEMORY_gb31b93fd9791e2303d8b18d8488436d3.html#gb31b93fd9791e2303d8b18d8488436d3" title="Copies data between host and device.">cudaMemcpyToArrayAsync</a>, <a class="el" href="group__CUDART__MEMORY_g8603102f7fcacec84a90bc7de6f1c0ac.html#g8603102f7fcacec84a90bc7de6f1c0ac" title="Copies data between host and device.">cudaMemcpy2DToArrayAsync</a>, <a class="el" href="group__CUDART__MEMORY_gab04836288a17fba1d25e782eeba4d1c.html#gab04836288a17fba1d25e782eeba4d1c" title="Copies data between host and device.">cudaMemcpyFromArrayAsync</a>, <a class="el" href="group__CUDART__MEMORY_g97d8bb906a67e3d8949ce7b8a22339ad.html#g97d8bb906a67e3d8949ce7b8a22339ad" title="Copies data between host and device.">cudaMemcpy2DFromArrayAsync</a>, <a class="el" href="group__CUDART__MEMORY_gdccfec28709fbef22da701a4e619c1ac.html#gdccfec28709fbef22da701a4e619c1ac" title="Copies data to the given symbol on the device.">cudaMemcpyToSymbolAsync</a>, <a class="el" href="group__CUDART__MEMORY_gf9d3f125f642cc52a3956a7a166c5440.html#gf9d3f125f642cc52a3956a7a166c5440" title="Copies data from the given symbol on the device.">cudaMemcpyFromSymbolAsync</a>, <a class="el" href="group__CUDART__MEMORY_g6ce5d637817b7693f6c2601aef21a294.html#g6ce5d637817b7693f6c2601aef21a294" title="Returns a cudaExtent based on input parameters.">make_cudaExtent</a>, <a class="el" href="group__CUDART__MEMORY_g4b92d505f9e7fd353d467fd404d31a83.html#g4b92d505f9e7fd353d467fd404d31a83" title="Returns a cudaPos based on input parameters.">make_cudaPos</a> </dd></dl>

</div>
</div><p>
    </td>
  </tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated by Doxygen for NVIDIA CUDA Library &nbsp;<a
href="http://www.nvidia.com/cuda"><img src="nvidia_logo.jpg" alt="NVIDIA" align="middle" border="0" height="80"></a></small></address>
</body>
</html>