Function cuGraphAddMemcpyNode

Source
pub unsafe extern "C" fn cuGraphAddMemcpyNode(
    phGraphNode: *mut CUgraphNode,
    hGraph: CUgraph,
    dependencies: *const CUgraphNode,
    numDependencies: usize,
    copyParams: *const CUDA_MEMCPY3D,
    ctx: CUcontext,
) -> CUresult
Expand description

\brief Creates a memcpy node and adds it to a graph

Creates a new memcpy node and adds it to \p hGraph with \p numDependencies dependencies specified via \p dependencies. It is possible for \p numDependencies to be 0, in which case the node will be placed at the root of the graph. \p dependencies may not have any duplicate entries. A handle to the new node will be returned in \p phGraphNode.

When the graph is launched, the node will perform the memcpy described by \p copyParams. See ::cuMemcpy3D() for a description of the structure and its restrictions.

Memcpy nodes have some additional restrictions with regards to managed memory, if the system contains at least one device which has a zero value for the device attribute ::CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS. If one or more of the operands refer to managed memory, then using the memory type ::CU_MEMORYTYPE_UNIFIED is disallowed for those operand(s). The managed memory will be treated as residing on either the host or the device, depending on which memory type is specified.

\param phGraphNode - Returns newly created node \param hGraph - Graph to which to add the node \param dependencies - Dependencies of the node \param numDependencies - Number of dependencies \param copyParams - Parameters for the memory copy \param ctx - Context on which to run the node

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

\sa ::cuGraphAddNode, ::cuMemcpy3D, ::cuGraphMemcpyNodeGetParams, ::cuGraphMemcpyNodeSetParams, ::cuGraphCreate, ::cuGraphDestroyNode, ::cuGraphAddChildGraphNode, ::cuGraphAddEmptyNode, ::cuGraphAddKernelNode, ::cuGraphAddHostNode, ::cuGraphAddMemsetNode