OSDN Git Service

new file: Integration/Tomography/Makefile.recent
[eos/hostdependX86LINUX64.git] / util / X86MAC64 / cuda / doc / html / group__CUDART__MEMORY_g80d689bc903792f906e49be4a0b6d8db.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>NVIDIA CUDA Library: cudaMallocPitch</title>
4 <link href="customdoxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top">
9   <div class="tabs">
10     <ul>
11       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12       <li><a href="modules.html"><span>Modules</span></a></li>
13       <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14     </ul>
15   </div>
16 </div>
17 <div class="contents">
18   <div class="navpath"><a class="el" href="group__CUDART__MEMORY.html">Memory Management</a>
19   </div>
20 <table cellspacing="0" cellpadding="0" border="0">
21   <tr>
22    <td valign="top">
23       <div class="navtab">
24         <table>
25           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gb17fef862d4d1fefb9dba35bd62a187e.html#gb17fef862d4d1fefb9dba35bd62a187e">cudaFree</a></td></tr>
26           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g87eb9f7a50c1f43aee18bdcfde3f4340.html#g87eb9f7a50c1f43aee18bdcfde3f4340">cudaFreeArray</a></td></tr>
27           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gedaeb2708ad3f74d5b417ee1874ec84a.html#gedaeb2708ad3f74d5b417ee1874ec84a">cudaFreeHost</a></td></tr>
28           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g2db2376f8fb4203df2fa9e104e16978e.html#g2db2376f8fb4203df2fa9e104e16978e">cudaGetSymbolAddress</a></td></tr>
29           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8423ddbee69126e5507178f1567b05f1.html#g8423ddbee69126e5507178f1567b05f1">cudaGetSymbolSize</a></td></tr>
30           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g217d441a73d9304c6f0ccc22ec307dba.html#g217d441a73d9304c6f0ccc22ec307dba">cudaHostAlloc</a></td></tr>
31           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ga475419a9b21a66036029d5001ea908c.html#ga475419a9b21a66036029d5001ea908c">cudaHostGetDevicePointer</a></td></tr>
32           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gc63ffd93e344b939d6399199d8b12fef.html#gc63ffd93e344b939d6399199d8b12fef">cudaMalloc</a></td></tr>
33           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g04a7553c90322aef32f8544d5c356a10.html#g04a7553c90322aef32f8544d5c356a10">cudaMalloc3D</a></td></tr>
34           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g44aff09d5db8b6fa81bd0576d8131da3.html#g44aff09d5db8b6fa81bd0576d8131da3">cudaMalloc3DArray</a></td></tr>
35           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ge56101fe6f1ce0b48f163632f6862ae4.html#ge56101fe6f1ce0b48f163632f6862ae4">cudaMallocArray</a></td></tr>
36           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g9f93d9600f4504e0d637ceb43c91ebad.html#g9f93d9600f4504e0d637ceb43c91ebad">cudaMallocHost</a></td></tr>
37           <tr><td class="navtab"><a class="qindexHL" href="group__CUDART__MEMORY_g80d689bc903792f906e49be4a0b6d8db.html#g80d689bc903792f906e49be4a0b6d8db">cudaMallocPitch</a></td></tr>
38           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g48efa06b81cc031b2aa6fdc2e9930741.html#g48efa06b81cc031b2aa6fdc2e9930741">cudaMemcpy</a></td></tr>
39           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g17f3a55e8c9aef5f90b67cdf22851375.html#g17f3a55e8c9aef5f90b67cdf22851375">cudaMemcpy2D</a></td></tr>
40           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gd961f35704f81aa8d16f68707897c150.html#gd961f35704f81aa8d16f68707897c150">cudaMemcpy2DArrayToArray</a></td></tr>
41           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g30c6e66c873a7e53a649f96b54b09465.html#g30c6e66c873a7e53a649f96b54b09465">cudaMemcpy2DAsync</a></td></tr>
42           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g96eddd33b321e91d6fb1b9f337bf5a47.html#g96eddd33b321e91d6fb1b9f337bf5a47">cudaMemcpy2DFromArray</a></td></tr>
43           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gad2e62119c537b9780b83a36d79340c6.html#gad2e62119c537b9780b83a36d79340c6">cudaMemcpy2DFromArrayAsync</a></td></tr>
44           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f.html#g1cc6e4eb2a5e0cd2bebbc8ebb4b6c46f">cudaMemcpy2DToArray</a></td></tr>
45           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ga0c91838976fe1d33014bd21bb9307bb.html#ga0c91838976fe1d33014bd21bb9307bb">cudaMemcpy2DToArrayAsync</a></td></tr>
46           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gc1372614eb614f4689fbb82b4692d30a.html#gc1372614eb614f4689fbb82b4692d30a">cudaMemcpy3D</a></td></tr>
47           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g5a8927bf1ea5de8c003316c9fd68d63b.html#g5a8927bf1ea5de8c003316c9fd68d63b">cudaMemcpy3DAsync</a></td></tr>
48           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ga37909c2448136db5829682d49bce8d9.html#ga37909c2448136db5829682d49bce8d9">cudaMemcpyArrayToArray</a></td></tr>
49           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ge4366f68c6fa8c85141448f187d2aa13.html#ge4366f68c6fa8c85141448f187d2aa13">cudaMemcpyAsync</a></td></tr>
50           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g1620c76fb3337df8dc7186fd88f40b1a.html#g1620c76fb3337df8dc7186fd88f40b1a">cudaMemcpyFromArray</a></td></tr>
51           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g6759d51be63c55ecf65f95fe41812f99.html#g6759d51be63c55ecf65f95fe41812f99">cudaMemcpyFromArrayAsync</a></td></tr>
52           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g0b2cb4468ec7529fe24722f30e831a24.html#g0b2cb4468ec7529fe24722f30e831a24">cudaMemcpyFromSymbol</a></td></tr>
53           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_gd714c659cb7b652fac87cb3ccdabd709.html#gd714c659cb7b652fac87cb3ccdabd709">cudaMemcpyFromSymbolAsync</a></td></tr>
54           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g06db36948e3ccda65d1adf3529420696.html#g06db36948e3ccda65d1adf3529420696">cudaMemcpyToArray</a></td></tr>
55           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g8e6d82b24a4482ed49ba242fd231a9a5.html#g8e6d82b24a4482ed49ba242fd231a9a5">cudaMemcpyToArrayAsync</a></td></tr>
56           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g58acd070e6f9bb82d7aeee3d0b958460.html#g58acd070e6f9bb82d7aeee3d0b958460">cudaMemcpyToSymbol</a></td></tr>
57           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g981a3eb36f49cd65e69eb575739ba5d7.html#g981a3eb36f49cd65e69eb575739ba5d7">cudaMemcpyToSymbolAsync</a></td></tr>
58           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_ge07c97b96efd09abaeb3ca3b5f8da4ee.html#ge07c97b96efd09abaeb3ca3b5f8da4ee">cudaMemset</a></td></tr>
59           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g2b3248e96aaba2241796e113d1798db3.html#g2b3248e96aaba2241796e113d1798db3">cudaMemset2D</a></td></tr>
60           <tr><td class="navtab"><a class="qindex" href="group__CUDART__MEMORY_g35171e821992f71d3c50f17032e079dc.html#g35171e821992f71d3c50f17032e079dc">cudaMemset3D</a></td></tr>
61         </table>
62       </div>
63    </td>
64    <td valign="top">
65 <a class="anchor" name="g80d689bc903792f906e49be4a0b6d8db"></a><!-- doxytag: member="cuda_runtime_api.cpp::cudaMallocPitch" ref="g80d689bc903792f906e49be4a0b6d8db" args="(void **devPtr, size_t *pitch, size_t width, size_t height)" -->
66 <div class="memitem">
67 <div class="memproto">
68       <table class="memname">
69         <tr>
70           <td class="memname"><a class="el" href="group__CUDART__TYPES_gf599e5b8b829ce7db0f5216928f6ecb6.html#gf599e5b8b829ce7db0f5216928f6ecb6">cudaError_t</a> cudaMallocPitch           </td>
71           <td>(</td>
72           <td class="paramtype">void **&nbsp;</td>
73           <td class="paramname"> <em>devPtr</em>, </td>
74         </tr>
75         <tr>
76           <td class="paramkey"></td>
77           <td></td>
78           <td class="paramtype">size_t *&nbsp;</td>
79           <td class="paramname"> <em>pitch</em>, </td>
80         </tr>
81         <tr>
82           <td class="paramkey"></td>
83           <td></td>
84           <td class="paramtype">size_t&nbsp;</td>
85           <td class="paramname"> <em>width</em>, </td>
86         </tr>
87         <tr>
88           <td class="paramkey"></td>
89           <td></td>
90           <td class="paramtype">size_t&nbsp;</td>
91           <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
92         </tr>
93         <tr>
94           <td></td>
95           <td>)</td>
96           <td></td><td></td><td></td>
97         </tr>
98       </table>
99 </div>
100 <div class="memdoc">
101
102 <p>
103 Allocates at least <code>widthInBytes</code> * <code>height</code> bytes of linear memory on the device and returns in <code>*devPtr</code> a pointer to the allocated memory. The function may pad the allocation to ensure that corresponding pointers in any given row will continue to meet the alignment requirements for coalescing as the address is updated from row to row. The pitch returned in <code>*pitch</code> by <a class="el" href="group__CUDART__MEMORY_g80d689bc903792f906e49be4a0b6d8db.html#g80d689bc903792f906e49be4a0b6d8db" title="Allocates pitched memory on the device.">cudaMallocPitch()</a> is the width in bytes of the allocation. The intended usage of <code>pitch</code> is as a separate parameter of the allocation, used to compute addresses within the 2D array. Given the row and column of an array element of type <code>T</code>, the address is computed as: <div class="fragment"><pre class="fragment">    T* pElement = (T*)((<span class="keywordtype">char</span>*)BaseAddress + Row * pitch) + Column;
104 </pre></div><p>
105 For allocations of 2D arrays, it is recommended that programmers consider performing pitch allocations using <a class="el" href="group__CUDART__MEMORY_g80d689bc903792f906e49be4a0b6d8db.html#g80d689bc903792f906e49be4a0b6d8db" title="Allocates pitched memory on the device.">cudaMallocPitch()</a>. Due to pitch alignment restrictions in the hardware, this is especially true if the application will be performing 2D memory copies between different regions of device memory (whether linear memory or CUDA arrays).<p>
106 <dl compact><dt><b>Parameters:</b></dt><dd>
107   <table border="0" cellspacing="2" cellpadding="0">
108     <tr><td valign="top"></td><td valign="top"><em>devPtr</em>&nbsp;</td><td>- Pointer to allocated pitched device memory </td></tr>
109     <tr><td valign="top"></td><td valign="top"><em>pitch</em>&nbsp;</td><td>- Pitch for allocation </td></tr>
110     <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>- Requested pitched allocation width </td></tr>
111     <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>- Requested pitched allocation height</td></tr>
112   </table>
113 </dl>
114 <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e0038e355f04607d824883b4a50662830d591" title="No errors.">cudaSuccess</a>, <a class="el" href="group__CUDART__TYPES_g3f51e3575c2178246db0a94a430e0038.html#gg3f51e3575c2178246db0a94a430e0038f210f50ae7f17f655e0504929606add9" title="Memory allocation error.">cudaErrorMemoryAllocation</a> </dd></dl>
115 <dl class="note" compact><dt><b>Note:</b></dt><dd>Note that this function may also return error codes from previous, asynchronous launches.</dd></dl>
116 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__CUDART__MEMORY_gc63ffd93e344b939d6399199d8b12fef.html#gc63ffd93e344b939d6399199d8b12fef" title="Allocate memory on the device.">cudaMalloc</a>, <a class="el" href="group__CUDART__MEMORY_gb17fef862d4d1fefb9dba35bd62a187e.html#gb17fef862d4d1fefb9dba35bd62a187e" title="Frees memory on the device.">cudaFree</a>, <a class="el" href="group__CUDART__MEMORY_ge56101fe6f1ce0b48f163632f6862ae4.html#ge56101fe6f1ce0b48f163632f6862ae4" title="Allocate an array on the device.">cudaMallocArray</a>, <a class="el" href="group__CUDART__MEMORY_g87eb9f7a50c1f43aee18bdcfde3f4340.html#g87eb9f7a50c1f43aee18bdcfde3f4340" title="Frees an array on the device.">cudaFreeArray</a>, <a class="el" href="group__CUDART__MEMORY_g9f93d9600f4504e0d637ceb43c91ebad.html#g9f93d9600f4504e0d637ceb43c91ebad" title="Allocates page-locked memory on the host.">cudaMallocHost</a>, <a class="el" href="group__CUDART__MEMORY_gedaeb2708ad3f74d5b417ee1874ec84a.html#gedaeb2708ad3f74d5b417ee1874ec84a" title="Frees page-locked memory.">cudaFreeHost</a>, <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_g44aff09d5db8b6fa81bd0576d8131da3.html#g44aff09d5db8b6fa81bd0576d8131da3" title="Allocate an array on the device.">cudaMalloc3DArray</a>, <a class="el" href="group__CUDART__MEMORY_g217d441a73d9304c6f0ccc22ec307dba.html#g217d441a73d9304c6f0ccc22ec307dba" title="Allocates page-locked memory on the host.">cudaHostAlloc</a> </dd></dl>
117
118 </div>
119 </div><p>
120     </td>
121   </tr>
122 </table>
123 </div>
124 <hr size="1"><address style="text-align: right;"><small>
125 Generated by Doxygen on Mon Mar 30 23:16:11 2009 for NVIDIA CUDA Library &nbsp;<a
126 href="http://www.nvidia.com/cuda"><img src="nvidia_logo.jpg" alt="NVIDIA" align="middle" border="0" height="80"></a></small></address>
127 </body>
128 </html>