Function cuGraphExecKernelNodeSetParams_v2

Source
pub unsafe extern "C" fn cuGraphExecKernelNodeSetParams_v2(
    hGraphExec: CUgraphExec,
    hNode: CUgraphNode,
    nodeParams: *const CUDA_KERNEL_NODE_PARAMS,
) -> CUresult
Expand description

\brief Sets the parameters for a kernel node in the given graphExec

Sets the parameters of a kernel node in an executable graph \p hGraphExec. The node is identified by the corresponding node \p hNode in the non-executable graph, from which the executable graph was instantiated.

\p hNode must not have been removed from the original graph. All \p nodeParams fields may change, but the following restrictions apply to \p func updates:

  • The owning context of the function cannot change.
  • A node whose function originally did not use CUDA dynamic parallelism cannot be updated to a function which uses CDP
  • A node whose function originally did not make device-side update calls cannot be updated to a function which makes device-side update calls.
  • If \p hGraphExec was not instantiated for device launch, a node whose function originally did not use device-side cudaGraphLaunch() cannot be updated to a function which uses device-side cudaGraphLaunch() unless the node resides on the same context as nodes which contained such calls at instantiate-time. If no such calls were present at instantiation, these updates cannot be performed at all.

The modifications only affect future launches of \p hGraphExec. Already enqueued or running launches of \p hGraphExec are not affected by this call. \p hNode is also not modified by this call.

If \p hNode is a device-updatable kernel node, the next upload/launch of \p hGraphExec will overwrite any previous device-side updates. Additionally, applying host updates to a device-updatable kernel node while it is being updated from the device will result in undefined behavior.

\param hGraphExec - The executable graph in which to set the specified node \param hNode - kernel node from the graph from which graphExec was instantiated \param nodeParams - Updated Parameters to set

\return ::CUDA_SUCCESS, ::CUDA_ERROR_INVALID_VALUE, \note_graph_thread_safety \notefnerr

\sa ::cuGraphExecNodeSetParams, ::cuGraphAddKernelNode, ::cuGraphKernelNodeSetParams, ::cuGraphExecMemcpyNodeSetParams, ::cuGraphExecMemsetNodeSetParams, ::cuGraphExecHostNodeSetParams, ::cuGraphExecChildGraphNodeSetParams, ::cuGraphExecEventRecordNodeSetEvent, ::cuGraphExecEventWaitNodeSetEvent, ::cuGraphExecExternalSemaphoresSignalNodeSetParams, ::cuGraphExecExternalSemaphoresWaitNodeSetParams, ::cuGraphExecUpdate, ::cuGraphInstantiate