<!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: CUDA Runtime API</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 Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> </div> <div class="contents"> <h1>CUDA Runtime API</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Modules</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__DEVICE.html">Device Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__ERROR.html">Error Handling</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__STREAM.html">Stream Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__EVENT.html">Event Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__EXECUTION.html">Execution Control</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__MEMORY.html">Memory Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__UNIFIED.html">Unified Addressing</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__PEER.html">Peer Device Memory Access</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__OPENGL.html">OpenGL Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__D3D9.html">Direct3D 9 Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__D3D10.html">Direct3D 10 Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__D3D11.html">Direct3D 11 Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__VDPAU.html">VDPAU Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__INTEROP.html">Graphics Interoperability</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__TEXTURE.html">Texture Reference Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__SURFACE.html">Surface Reference Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART____VERSION.html">Version Management</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__HIGHLEVEL.html">C++ API Routines</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">C++-style interface built on top of CUDA runtime API. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__DRIVER.html">Interactions with the CUDA Driver API</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Interactions between the CUDA Driver API and the CUDA Runtime API. <br></td></tr> <p> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__PROFILER.html">Profiler Control</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART__TYPES.html">Data types used by CUDA Runtime</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CUDART_g3a1cb3bf259a79327819258c43819667.html#g3a1cb3bf259a79327819258c43819667">CUDART_VERSION</a> 4020</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> There are two levels for the runtime API.<p> The C API (<em>cuda_runtime_api.h</em>) is a C-style interface that does not require compiling with <code>nvcc</code>.<p> The <a class="el" href="group__CUDART__HIGHLEVEL.html">C++ API</a> (<em>cuda_runtime.h</em>) is a C++-style interface built on top of the C API. It wraps some of the C API routines, using overloading, references and default arguments. These wrappers can be used from C++ code and can be compiled with any C++ compiler. The C++ API also has some CUDA-specific wrappers that wrap C API routines that deal with symbols, textures, and device functions. These wrappers require the use of <code>nvcc</code> because they depend on code being generated by the compiler. For example, the execution configuration syntax to invoke kernels is only available in source code compiled with <code>nvcc</code>. </div> <hr size="1"><address style="text-align: right;"><small> Generated by Doxygen for NVIDIA CUDA Library <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>