<!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: cudaStreamWaitEvent</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"> <div class="navpath"><a class="el" href="group__CUDART__STREAM.html">Stream 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__STREAM_gaf38e6f47265c7da1b02724a5ad565e4.html#gaf38e6f47265c7da1b02724a5ad565e4">cudaStreamCreate</a></td></tr> <tr><td class="navtab"><a class="qindex" href="group__CUDART__STREAM_gc6150150d5a4ff527abfa6cf68a28c5f.html#gc6150150d5a4ff527abfa6cf68a28c5f">cudaStreamDestroy</a></td></tr> <tr><td class="navtab"><a class="qindex" href="group__CUDART__STREAM_ge78feba9080b59fe0fff536a42c13e6d.html#ge78feba9080b59fe0fff536a42c13e6d">cudaStreamQuery</a></td></tr> <tr><td class="navtab"><a class="qindex" href="group__CUDART__STREAM_geb3b2f88b7c1cff8b67a998a3a41c179.html#geb3b2f88b7c1cff8b67a998a3a41c179">cudaStreamSynchronize</a></td></tr> <tr><td class="navtab"><a class="qindexHL" href="group__CUDART__STREAM_gfe68d207dc965685d92d3f03d77b0876.html#gfe68d207dc965685d92d3f03d77b0876">cudaStreamWaitEvent</a></td></tr> </table> </div> </td> <td valign="top"> <a class="anchor" name="gfe68d207dc965685d92d3f03d77b0876"></a><!-- doxytag: member="cuda_runtime_api.h::cudaStreamWaitEvent" ref="gfe68d207dc965685d92d3f03d77b0876" args="(cudaStream_t stream, cudaEvent_t event, unsigned int flags)" --> <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> cudaStreamWaitEvent </td> <td>(</td> <td class="paramtype"><a class="el" href="group__CUDART__TYPES_ge15d9c8b7a240312b533d6122558085a.html#ge15d9c8b7a240312b533d6122558085a">cudaStream_t</a> </td> <td class="paramname"> <em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__CUDART__TYPES_gea2f543a9fc0e52fe4ae712920fd1247.html#gea2f543a9fc0e52fe4ae712920fd1247">cudaEvent_t</a> </td> <td class="paramname"> <em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>flags</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Makes all future work submitted to <code>stream</code> wait until <code>event</code> reports completion before beginning execution. This synchronization will be performed efficiently on the device. The event <code>event</code> may be from a different context than <code>stream</code>, in which case this function will perform cross-device synchronization.<p> The stream <code>stream</code> will wait only for the completion of the most recent host call to <a class="el" href="group__CUDART__EVENT_ga324d5ce3fbf46899b15e5e42ff9cfa5.html#ga324d5ce3fbf46899b15e5e42ff9cfa5" title="Records an event.">cudaEventRecord()</a> on <code>event</code>. Once this call has returned, any functions (including <a class="el" href="group__CUDART__EVENT_ga324d5ce3fbf46899b15e5e42ff9cfa5.html#ga324d5ce3fbf46899b15e5e42ff9cfa5" title="Records an event.">cudaEventRecord()</a> and <a class="el" href="group__CUDART__EVENT_g513a33d6c552db36be7edc5b3e9e0765.html#g513a33d6c552db36be7edc5b3e9e0765" title="Destroys an event object.">cudaEventDestroy()</a>) may be called on <code>event</code> again, and the subsequent calls will not have any effect on <code>stream</code>.<p> If <code>stream</code> is NULL, any future work submitted in any stream will wait for <code>event</code> to complete before beginning execution. This effectively creates a barrier for all future work submitted to the device on this thread.<p> If <a class="el" href="group__CUDART__EVENT_ga324d5ce3fbf46899b15e5e42ff9cfa5.html#ga324d5ce3fbf46899b15e5e42ff9cfa5" title="Records an event.">cudaEventRecord()</a> has not been called on <code>event</code>, this call acts as if the record has already completed, and so is a functional no-op.<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>stream</em> </td><td>- Stream to wait </td></tr> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>- Event to wait on </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>- Parameters for the operation (must be 0)</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#gg3f51e3575c2178246db0a94a430e0038c4673247aee4d1ab8d07871f376e0273">cudaErrorInvalidResourceHandle</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.</dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__CUDART__STREAM_gaf38e6f47265c7da1b02724a5ad565e4.html#gaf38e6f47265c7da1b02724a5ad565e4" title="Create an asynchronous stream.">cudaStreamCreate</a>, <a class="el" href="group__CUDART__STREAM_ge78feba9080b59fe0fff536a42c13e6d.html#ge78feba9080b59fe0fff536a42c13e6d" title="Queries an asynchronous stream for completion status.">cudaStreamQuery</a>, <a class="el" href="group__CUDART__STREAM_geb3b2f88b7c1cff8b67a998a3a41c179.html#geb3b2f88b7c1cff8b67a998a3a41c179" title="Waits for stream tasks to complete.">cudaStreamSynchronize</a>, <a class="el" href="group__CUDART__STREAM_gc6150150d5a4ff527abfa6cf68a28c5f.html#gc6150150d5a4ff527abfa6cf68a28c5f" title="Destroys and cleans up an asynchronous stream.">cudaStreamDestroy</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 <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>