pub unsafe extern "C" fn cudaStreamGetCaptureInfo_v3(
stream: cudaStream_t,
captureStatus_out: *mut cudaStreamCaptureStatus,
id_out: *mut c_ulonglong,
graph_out: *mut cudaGraph_t,
dependencies_out: *mut *const cudaGraphNode_t,
edgeData_out: *mut *const cudaGraphEdgeData,
numDependencies_out: *mut usize,
) -> cudaError_t
Expand description
\brief Query a stream’s capture state (12.3+)
Query stream state related to stream capture.
If called on ::cudaStreamLegacy (the “null stream”) while a stream not created with ::cudaStreamNonBlocking is capturing, returns ::cudaErrorStreamCaptureImplicit.
Valid data (other than capture status) is returned only if both of the following are true:
- the call returns cudaSuccess
- the returned capture status is ::cudaStreamCaptureStatusActive
If \p edgeData_out is non-NULL then \p dependencies_out must be as well. If \p dependencies_out is non-NULL and \p edgeData_out is NULL, but there is non-zero edge data for one or more of the current stream dependencies, the call will return ::cudaErrorLossyQuery.
\param stream - The stream to query \param captureStatus_out - Location to return the capture status of the stream; required \param id_out - Optional location to return an id for the capture sequence, which is unique over the lifetime of the process \param graph_out - Optional location to return the graph being captured into. All operations other than destroy and node removal are permitted on the graph while the capture sequence is in progress. This API does not transfer ownership of the graph, which is transferred or destroyed at ::cudaStreamEndCapture. Note that the graph handle may be invalidated before end of capture for certain errors. Nodes that are or become unreachable from the original stream at ::cudaStreamEndCapture due to direct actions on the graph do not trigger ::cudaErrorStreamCaptureUnjoined. \param dependencies_out - Optional location to store a pointer to an array of nodes. The next node to be captured in the stream will depend on this set of nodes, absent operations such as event wait which modify this set. The array pointer is valid until the next API call which operates on the stream or until the capture is terminated. The node handles may be copied out and are valid until they or the graph is destroyed. The driver-owned array may also be passed directly to APIs that operate on the graph (not the stream) without copying. \param edgeData_out - Optional location to store a pointer to an array of graph edge data. This array parallels \c dependencies_out; the next node to be added has an edge to \c dependencies_out[i] with annotation \c edgeData_out[i] for each \c i. The array pointer is valid until the next API call which operates on the stream or until the capture is terminated. \param numDependencies_out - Optional location to store the size of the array returned in dependencies_out.
\return ::cudaSuccess, ::cudaErrorInvalidValue, ::cudaErrorStreamCaptureImplicit, ::cudaErrorLossyQuery \note_graph_thread_safety \notefnerr
\sa ::cudaStreamBeginCapture, ::cudaStreamIsCapturing, ::cudaStreamUpdateCaptureDependencies