HIP: Heterogenous-computing Interface for Portability: Graph Management

HIP: Heterogenous-computing Interface for Portability

Classes | Typedefs | Enumerations | Functions
Graph Management
HIP API » Texture Management

This section describes the graph management types & functions of HIP runtime API. More...

Collaboration diagram for Graph Management:

## Classes
struct | hipHostNodeParams
struct | hipKernelNodeParams
struct | hipMemsetParams

## Typedefs
typedef struct ihipGraph * | hipGraph_t
typedef struct hipGraphNode * | hipGraphNode_t
typedef struct hipGraphExec * | hipGraphExec_t
typedef enum hipGraphNodeType | hipGraphNodeType
typedef void(* | hipHostFn_t) (void *userData)
typedef struct hipHostNodeParams | hipHostNodeParams
typedef struct hipKernelNodeParams | hipKernelNodeParams
typedef struct hipMemsetParams | hipMemsetParams
typedef enum hipGraphExecUpdateResult | hipGraphExecUpdateResult
typedef enum hipStreamCaptureMode | hipStreamCaptureMode
typedef enum hipStreamCaptureStatus | hipStreamCaptureStatus
typedef enum hipStreamUpdateCaptureDependenciesFlags | hipStreamUpdateCaptureDependenciesFlags

## Enumerations
enum | hipGraphNodeType { hipGraphNodeTypeKernel = 1, hipGraphNodeTypeMemcpy = 2, hipGraphNodeTypeMemset = 3, hipGraphNodeTypeHost = 4, hipGraphNodeTypeGraph = 5, hipGraphNodeTypeEmpty = 6, hipGraphNodeTypeWaitEvent = 7, hipGraphNodeTypeEventRecord = 8, hipGraphNodeTypeMemcpy1D = 9, hipGraphNodeTypeMemcpyFromSymbol = 10, hipGraphNodeTypeMemcpyToSymbol = 11, hipGraphNodeTypeCount }
enum | hipGraphExecUpdateResult { hipGraphExecUpdateSuccess = 0x0, hipGraphExecUpdateError = 0x1, hipGraphExecUpdateErrorTopologyChanged = 0x2, hipGraphExecUpdateErrorNodeTypeChanged = 0x3, hipGraphExecUpdateErrorFunctionChanged, hipGraphExecUpdateErrorParametersChanged, hipGraphExecUpdateErrorNotSupported, hipGraphExecUpdateErrorUnsupportedFunctionChange = 0x7 }
enum | hipStreamCaptureMode { hipStreamCaptureModeGlobal = 0, hipStreamCaptureModeThreadLocal, hipStreamCaptureModeRelaxed }
enum | hipStreamCaptureStatus { hipStreamCaptureStatusNone = 0, hipStreamCaptureStatusActive, hipStreamCaptureStatusInvalidated }
enum | hipStreamUpdateCaptureDependenciesFlags { hipStreamAddCaptureDependencies = 0, hipStreamSetCaptureDependencies }

## Functions
hipError_t | hipStreamBeginCapture (hipStream_t stream, hipStreamCaptureMode mode)
| Begins graph capture on a stream. More...
hipError_t | hipStreamEndCapture (hipStream_t stream, hipGraph_t *pGraph)
| Ends capture on a stream, returning the captured graph. More...
hipError_t | hipStreamGetCaptureInfo (hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus, unsigned long long *pId)
| Get capture status of a stream. More...
hipError_t | hipStreamGetCaptureInfo_v2 (hipStream_t stream, hipStreamCaptureStatus *captureStatus_out, unsigned long long *id_out __dparm(0), hipGraph_t *graph_out __dparm(0), const hipGraphNode_t **dependencies_out __dparm(0), size_t *numDependencies_out __dparm(0))
| Get stream's capture state. More...
hipError_t | hipStreamIsCapturing (hipStream_t stream, hipStreamCaptureStatus *pCaptureStatus)
| Get stream's capture state. More...
hipError_t | hipStreamUpdateCaptureDependencies (hipStream_t stream, hipGraphNode_t *dependencies, size_t numDependencies, unsigned int flags __dparm(0))
| Update the set of dependencies in a capturing stream. More...
hipError_t | hipGraphCreate (hipGraph_t *pGraph, unsigned int flags)
| Creates a graph. More...
hipError_t | hipGraphDestroy (hipGraph_t graph)
| Destroys a graph. More...
hipError_t | hipGraphAddDependencies (hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
| Adds dependency edges to a graph. More...
hipError_t | hipGraphRemoveDependencies (hipGraph_t graph, const hipGraphNode_t *from, const hipGraphNode_t *to, size_t numDependencies)
| Removes dependency edges from a graph. More...
hipError_t | hipGraphGetEdges (hipGraph_t graph, hipGraphNode_t *from, hipGraphNode_t *to, size_t *numEdges)
| Returns a graph's dependency edges. More...
hipError_t | hipGraphGetNodes (hipGraph_t graph, hipGraphNode_t *nodes, size_t *numNodes)
| Returns graph nodes. More...
hipError_t | hipGraphGetRootNodes (hipGraph_t graph, hipGraphNode_t *pRootNodes, size_t *pNumRootNodes)
| Returns graph's root nodes. More...
hipError_t | hipGraphNodeGetDependencies (hipGraphNode_t node, hipGraphNode_t *pDependencies, size_t *pNumDependencies)
| Returns a node's dependencies. More...
hipError_t | hipGraphNodeGetDependentNodes (hipGraphNode_t node, hipGraphNode_t *pDependentNodes, size_t *pNumDependentNodes)
| Returns a node's dependent nodes. More...
hipError_t | hipGraphNodeGetType (hipGraphNode_t node, hipGraphNodeType *pType)
| Returns a node's type. More...
hipError_t | hipGraphDestroyNode (hipGraphNode_t node)
| Remove a node from the graph. More...
hipError_t | hipGraphClone (hipGraph_t *pGraphClone, hipGraph_t originalGraph)
| Clones a graph. More...
hipError_t | hipGraphNodeFindInClone (hipGraphNode_t *pNode, hipGraphNode_t originalNode, hipGraph_t clonedGraph)
| Finds a cloned version of a node. More...
hipError_t | hipGraphInstantiate (hipGraphExec_t *pGraphExec, hipGraph_t graph, hipGraphNode_t *pErrorNode, char *pLogBuffer, size_t bufferSize)
| Creates an executable graph from a graph. More...
hipError_t | hipGraphInstantiateWithFlags (hipGraphExec_t *pGraphExec, hipGraph_t graph, unsigned long long flags)
| Creates an executable graph from a graph. More...
hipError_t | hipGraphLaunch (hipGraphExec_t graphExec, hipStream_t stream)
| launches an executable graph in a stream More...
hipError_t | hipGraphExecDestroy (hipGraphExec_t graphExec)
| Destroys an executable graph. More...
hipError_t | hipGraphExecUpdate (hipGraphExec_t hGraphExec, hipGraph_t hGraph, hipGraphNode_t *hErrorNode_out, hipGraphExecUpdateResult *updateResult_out)
| Check whether an executable graph can be updated with a graph and perform the update if * possible. More...
hipError_t | hipGraphAddKernelNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipKernelNodeParams *pNodeParams)
| Creates a kernel execution node and adds it to a graph. More...
hipError_t | hipGraphKernelNodeGetParams (hipGraphNode_t node, hipKernelNodeParams *pNodeParams)
| Gets kernel node's parameters. More...
hipError_t | hipGraphKernelNodeSetParams (hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
| Sets a kernel node's parameters. More...
hipError_t | hipGraphExecKernelNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams)
| Sets the parameters for a kernel node in the given graphExec. More...
hipError_t | hipGraphAddMemcpyNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemcpy3DParms *pCopyParams)
| Creates a memcpy node and adds it to a graph. More...
hipError_t | hipGraphMemcpyNodeGetParams (hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
| Gets a memcpy node's parameters. More...
hipError_t | hipGraphMemcpyNodeSetParams (hipGraphNode_t node, const hipMemcpy3DParms *pNodeParams)
| Sets a memcpy node's parameters. More...
hipError_t | hipGraphExecMemcpyNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms *pNodeParams)
| Sets the parameters for a memcpy node in the given graphExec. More...
hipError_t | hipGraphAddMemcpyNode1D (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *src, size_t count, hipMemcpyKind kind)
| Creates a 1D memcpy node and adds it to a graph. More...
hipError_t | hipGraphMemcpyNodeSetParams1D (hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
| Sets a memcpy node's parameters to perform a 1-dimensional copy. More...
hipError_t | hipGraphExecMemcpyNodeSetParams1D (hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *src, size_t count, hipMemcpyKind kind)
| Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy. More...
hipError_t | hipGraphAddMemcpyNodeFromSymbol (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
| Creates a memcpy node to copy from a symbol on the device and adds it to a graph. More...
hipError_t | hipGraphMemcpyNodeSetParamsFromSymbol (hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
| Sets a memcpy node's parameters to copy from a symbol on the device. More...
hipError_t | hipGraphExecMemcpyNodeSetParamsFromSymbol (hipGraphExec_t hGraphExec, hipGraphNode_t node, void *dst, const void *symbol, size_t count, size_t offset, hipMemcpyKind kind)
| Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the. More...
hipError_t | hipGraphAddMemcpyNodeToSymbol (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
| Creates a memcpy node to copy to a symbol on the device and adds it to a graph. More...
hipError_t | hipGraphMemcpyNodeSetParamsToSymbol (hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
| Sets a memcpy node's parameters to copy to a symbol on the device. More...
hipError_t | hipGraphExecMemcpyNodeSetParamsToSymbol (hipGraphExec_t hGraphExec, hipGraphNode_t node, const void *symbol, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
| Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device. More...
hipError_t | hipGraphAddMemsetNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipMemsetParams *pMemsetParams)
| Creates a memset node and adds it to a graph. More...
hipError_t | hipGraphMemsetNodeGetParams (hipGraphNode_t node, hipMemsetParams *pNodeParams)
| Gets a memset node's parameters. More...
hipError_t | hipGraphMemsetNodeSetParams (hipGraphNode_t node, const hipMemsetParams *pNodeParams)
| Sets a memset node's parameters. More...
hipError_t | hipGraphExecMemsetNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipMemsetParams *pNodeParams)
| Sets the parameters for a memset node in the given graphExec. More...
hipError_t | hipGraphAddHostNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, const hipHostNodeParams *pNodeParams)
| Creates a host execution node and adds it to a graph. More...
hipError_t | hipGraphHostNodeGetParams (hipGraphNode_t node, hipHostNodeParams *pNodeParams)
| Returns a host node's parameters. More...
hipError_t | hipGraphHostNodeSetParams (hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
| Sets a host node's parameters. More...
hipError_t | hipGraphExecHostNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipHostNodeParams *pNodeParams)
| Sets the parameters for a host node in the given graphExec. More...
hipError_t | hipGraphAddChildGraphNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipGraph_t childGraph)
| Creates a child graph node and adds it to a graph. More...
hipError_t | hipGraphChildGraphNodeGetGraph (hipGraphNode_t node, hipGraph_t *pGraph)
| Gets a handle to the embedded graph of a child graph node. More...
hipError_t | hipGraphExecChildGraphNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, hipGraph_t childGraph)
| Updates node parameters in the child graph node in the given graphExec. More...
hipError_t | hipGraphAddEmptyNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies)
| Creates an empty node and adds it to a graph. More...
hipError_t | hipGraphAddEventRecordNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
| Creates an event record node and adds it to a graph. More...
hipError_t | hipGraphEventRecordNodeGetEvent (hipGraphNode_t node, hipEvent_t *event_out)
| Returns the event associated with an event record node. More...
hipError_t | hipGraphEventRecordNodeSetEvent (hipGraphNode_t node, hipEvent_t event)
| Sets an event record node's event. More...
hipError_t | hipGraphExecEventRecordNodeSetEvent (hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
| Sets the event for an event record node in the given graphExec. More...
hipError_t | hipGraphAddEventWaitNode (hipGraphNode_t *pGraphNode, hipGraph_t graph, const hipGraphNode_t *pDependencies, size_t numDependencies, hipEvent_t event)
| Creates an event wait node and adds it to a graph. More...
hipError_t | hipGraphEventWaitNodeGetEvent (hipGraphNode_t node, hipEvent_t *event_out)
| Returns the event associated with an event wait node. More...
hipError_t | hipGraphEventWaitNodeSetEvent (hipGraphNode_t node, hipEvent_t event)
| Sets an event wait node's event. More...
hipError_t | hipGraphExecEventWaitNodeSetEvent (hipGraphExec_t hGraphExec, hipGraphNode_t hNode, hipEvent_t event)
| Sets the event for an event record node in the given graphExec. More...

## Detailed Description

This section describes the graph management types & functions of HIP runtime API.

## Typedef Documentation

## ◆ hipGraph_t

typedef struct ihipGraph* hipGraph_t

An opaque value that represents a hip graph

## ◆ hipGraphExec_t

typedef struct hipGraphExec* hipGraphExec_t

An opaque value that represents a hip graph Exec

## ◆ hipGraphNode_t

typedef struct hipGraphNode* hipGraphNode_t

An opaque value that represents a hip graph node

## Enumeration Type Documentation

## ◆ hipGraphExecUpdateResult

enum hipGraphExecUpdateResult

Enumerator
hipGraphExecUpdateSuccess | The update succeeded.
hipGraphExecUpdateError | The update failed for an unexpected reason which is described in the return value of the function
hipGraphExecUpdateErrorTopologyChanged | The update failed because the topology changed.
hipGraphExecUpdateErrorNodeTypeChanged | The update failed because a node type changed.
hipGraphExecUpdateErrorFunctionChanged | The update failed because the function of a kernel node changed.
hipGraphExecUpdateErrorParametersChanged | The update failed because the parameters changed in a way that is not supported.
hipGraphExecUpdateErrorNotSupported | The update failed because something about the node is not supported.

## ◆ hipGraphNodeType

enum hipGraphNodeType

Enumerator
hipGraphNodeTypeKernel | GPU kernel node.
hipGraphNodeTypeMemcpy | Memcpy 3D node.
hipGraphNodeTypeMemset | Memset 1D node.
hipGraphNodeTypeHost | Host (executable) node.
hipGraphNodeTypeGraph | Node which executes an embedded graph.
hipGraphNodeTypeEmpty | Empty (no-op) node.
hipGraphNodeTypeWaitEvent | External event wait node.
hipGraphNodeTypeEventRecord | External event record node.
hipGraphNodeTypeMemcpy1D | Memcpy 1D node.
hipGraphNodeTypeMemcpyFromSymbol | MemcpyFromSymbol node.
hipGraphNodeTypeMemcpyToSymbol | MemcpyToSymbol node.

## ◆ hipStreamCaptureStatus

enum hipStreamCaptureStatus

Enumerator
hipStreamCaptureStatusNone | Stream is not capturing.
hipStreamCaptureStatusActive | Stream is actively capturing.
hipStreamCaptureStatusInvalidated | Stream is part of a capture sequence that has been invalidated, but not terminated

## ◆ hipStreamUpdateCaptureDependenciesFlags

enum hipStreamUpdateCaptureDependenciesFlags

Enumerator
hipStreamAddCaptureDependencies | Add new nodes to the dependency set.
hipStreamSetCaptureDependencies | Replace the dependency set with the new nodes.

## Function Documentation

## ◆ hipGraphAddChildGraphNode()

hipError_t hipGraphAddChildGraphNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | hipGraph_t | childGraph
| ) |  |

Creates a child graph node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create.
  [in] | graph | - instance of the graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memset execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | childGraph | - the graph to clone into this node

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddDependencies()

hipError_t hipGraphAddDependencies | ( | hipGraph_t | graph,
|  | const hipGraphNode_t * | from,
|  | const hipGraphNode_t * | to,
|  | size_t | numDependencies
| ) |  |

Adds dependency edges to a graph.

Parameters

  [in] | graph | - instance of the graph to add dependencies.
  [in] | from | - pointer to the graph nodes with dependenties to add from.
  [in] | to | - pointer to the graph nodes to add dependenties to.
  [in] | numDependencies | - the number of dependencies to add.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddEmptyNode()

hipError_t hipGraphAddEmptyNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies
| ) |  |

Creates an empty node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create and add to the graph.
  [in] | graph | - instane of the graph the node is add to.
  [in] | pDependencies | - const pointer to the node dependenties.
  [in] | numDependencies | - the number of dependencies.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddEventRecordNode()

hipError_t hipGraphAddEventRecordNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | hipEvent_t | event
| ) |  |

Creates an event record node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create and add to the graph.
  [in] | graph | - instane of the graph the node to be added.
  [in] | pDependencies | - const pointer to the node dependenties.
  [in] | numDependencies | - the number of dependencies.
  [in] | event | - Event for the node.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddEventWaitNode()

hipError_t hipGraphAddEventWaitNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | hipEvent_t | event
| ) |  |

Creates an event wait node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create and add to the graph.
  [in] | graph | - instane of the graph the node to be added.
  [in] | pDependencies | - const pointer to the node dependenties.
  [in] | numDependencies | - the number of dependencies.
  [in] | event | - Event for the node.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddHostNode()

hipError_t hipGraphAddHostNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | const hipHostNodeParams * | pNodeParams
| ) |  |

Creates a host execution node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create.
  [in] | graph | - instance of the graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memset execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | pNodeParams | -pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddKernelNode()

hipError_t hipGraphAddKernelNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | const hipKernelNodeParams * | pNodeParams
| ) |  |

Creates a kernel execution node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to graph node to create.
  [in] | graph | - instance of graph to add the created node.
  [in] | pDependencies | - pointer to the dependencies on the kernel execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | pNodeParams | - pointer to the parameters to the kernel execution node on the GPU.

Returns
  hipSuccess, hipErrorInvalidValue, #hipErrorInvalidDeviceFunction

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddMemcpyNode()

hipError_t hipGraphAddMemcpyNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | const hipMemcpy3DParms * | pCopyParams
| ) |  |

Creates a memcpy node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to graph node to create.
  [in] | graph | - instance of graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memcpy execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | pCopyParams | - const pointer to the parameters for the memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddMemcpyNode1D()

hipError_t hipGraphAddMemcpyNode1D | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | void * | dst,
|  | const void * | src,
|  | size_t | count,
|  | hipMemcpyKind | kind
| ) |  |

Creates a 1D memcpy node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to graph node to create.
  [in] | graph | - instance of graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memcpy execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | dst | - pointer to memory address to the destination.
  [in] | src | - pointer to memory address to the source.
  [in] | count | - the size of the memory to copy.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddMemcpyNodeFromSymbol()

hipError_t hipGraphAddMemcpyNodeFromSymbol | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | void * | dst,
|  | const void * | symbol,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Creates a memcpy node to copy from a symbol on the device and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to graph node to create.
  [in] | graph | - instance of graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memcpy execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | dst | - pointer to memory address to the destination.
  [in] | symbol | - Device symbol address.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddMemcpyNodeToSymbol()

hipError_t hipGraphAddMemcpyNodeToSymbol | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | const void * | symbol,
|  | const void * | src,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Creates a memcpy node to copy to a symbol on the device and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to graph node to create.
  [in] | graph | - instance of graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memcpy execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | symbol | - Device symbol address.
  [in] | src | - pointer to memory address of the src.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphAddMemsetNode()

hipError_t hipGraphAddMemsetNode | ( | hipGraphNode_t * | pGraphNode,
|  | hipGraph_t | graph,
|  | const hipGraphNode_t * | pDependencies,
|  | size_t | numDependencies,
|  | const hipMemsetParams * | pMemsetParams
| ) |  |

Creates a memset node and adds it to a graph.

Parameters

  [out] | pGraphNode | - pointer to the graph node to create.
  [in] | graph | - instance of the graph to add the created node.
  [in] | pDependencies | - const pointer to the dependencies on the memset execution node.
  [in] | numDependencies | - the number of the dependencies.
  [in] | pMemsetParams | - const pointer to the parameters for the memory set.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphChildGraphNodeGetGraph()

hipError_t hipGraphChildGraphNodeGetGraph | ( | hipGraphNode_t | node,
|  | hipGraph_t * | pGraph
| ) |  |

Gets a handle to the embedded graph of a child graph node.

Parameters

  [in] | node | - instane of the node to get child graph.
  [out] | pGraph | - pointer to get the graph.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphClone()

hipError_t hipGraphClone | ( | hipGraph_t * | pGraphClone,
|  | hipGraph_t | originalGraph
| ) |  |

Clones a graph.

Parameters

  [out] | pGraphClone | - Returns newly created cloned graph.
  [in] | originalGraph | - original graph to clone from.

Returns
  hipSuccess, hipErrorInvalidValue, hipErrorMemoryAllocation

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphCreate()

hipError_t hipGraphCreate | ( | hipGraph_t * | pGraph,
|  | unsigned int | flags
| ) |  |

Creates a graph.

Parameters

  [out] | pGraph | - pointer to graph to create.
  [in] | flags | - flags for graph creation, must be 0.

Returns
  hipSuccess, hipErrorInvalidValue, hipErrorMemoryAllocation

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphDestroy()

hipError_t hipGraphDestroy | ( | hipGraph_t | graph | ) |

Destroys a graph.

Parameters

  [in] | graph | - instance of graph to destroy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphDestroyNode()

hipError_t hipGraphDestroyNode | ( | hipGraphNode_t | node | ) |

Remove a node from the graph.

Parameters

  [in] | node | - graph node to remove

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphEventRecordNodeGetEvent()

hipError_t hipGraphEventRecordNodeGetEvent | ( | hipGraphNode_t | node,
|  | hipEvent_t * | event_out
| ) |  |

Returns the event associated with an event record node.

Parameters

  [in] | node | - instane of the node to get event from.
  [out] | event_out | - Pointer to return the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphEventRecordNodeSetEvent()

hipError_t hipGraphEventRecordNodeSetEvent | ( | hipGraphNode_t | node,
|  | hipEvent_t | event
| ) |  |

Sets an event record node's event.

Parameters

  [in] | node | - instane of the node to set event to.
  [in] | event | - pointer to the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphEventWaitNodeGetEvent()

hipError_t hipGraphEventWaitNodeGetEvent | ( | hipGraphNode_t | node,
|  | hipEvent_t * | event_out
| ) |  |

Returns the event associated with an event wait node.

Parameters

  [in] | node | - instane of the node to get event from.
  [out] | event_out | - Pointer to return the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphEventWaitNodeSetEvent()

hipError_t hipGraphEventWaitNodeSetEvent | ( | hipGraphNode_t | node,
|  | hipEvent_t | event
| ) |  |

Sets an event wait node's event.

Parameters

  [in] | node | - instane of the node to set event to.
  [in] | event | - pointer to the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecChildGraphNodeSetParams()

hipError_t hipGraphExecChildGraphNodeSetParams | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | hipGraph_t | childGraph
| ) |  |

Updates node parameters in the child graph node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - node from the graph which was used to instantiate graphExec.
  [in] | childGraph | - child graph with updated parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecDestroy()

hipError_t hipGraphExecDestroy | ( | hipGraphExec_t | graphExec | ) |

Destroys an executable graph.

Parameters

  [in] | pGraphExec | - instance of executable graph to destry.

Returns
  hipSuccess.

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecEventRecordNodeSetEvent()

hipError_t hipGraphExecEventRecordNodeSetEvent | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | hNode,
|  | hipEvent_t | event
| ) |  |

Sets the event for an event record node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | hNode | - node from the graph which was used to instantiate graphExec.
  [in] | event | - pointer to the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecEventWaitNodeSetEvent()

hipError_t hipGraphExecEventWaitNodeSetEvent | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | hNode,
|  | hipEvent_t | event
| ) |  |

Sets the event for an event record node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | hNode | - node from the graph which was used to instantiate graphExec.
  [in] | event | - pointer to the event.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecHostNodeSetParams()

hipError_t hipGraphExecHostNodeSetParams | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | const hipHostNodeParams * | pNodeParams
| ) |  |

Sets the parameters for a host node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecKernelNodeSetParams()

hipError_t hipGraphExecKernelNodeSetParams | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | const hipKernelNodeParams * | pNodeParams
| ) |  |

Sets the parameters for a kernel node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - const pointer to the kernel node parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecMemcpyNodeSetParams()

hipError_t hipGraphExecMemcpyNodeSetParams | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | hipMemcpy3DParms * | pNodeParams
| ) |  |

Sets the parameters for a memcpy node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - const pointer to the kernel node parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecMemcpyNodeSetParams1D()

hipError_t hipGraphExecMemcpyNodeSetParams1D | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | void * | dst,
|  | const void * | src,
|  | size_t | count,
|  | hipMemcpyKind | kind
| ) |  |

Sets the parameters for a memcpy node in the given graphExec to perform a 1-dimensional copy.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | dst | - pointer to memory address to the destination.
  [in] | src | - pointer to memory address to the source.
  [in] | count | - the size of the memory to copy.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecMemcpyNodeSetParamsFromSymbol()

hipError_t hipGraphExecMemcpyNodeSetParamsFromSymbol | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | void * | dst,
|  | const void * | symbol,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Sets the parameters for a memcpy node in the given graphExec to copy from a symbol on the.

- device.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | dst | - pointer to memory address to the destination.
  [in] | symbol | - Device symbol address.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecMemcpyNodeSetParamsToSymbol()

hipError_t hipGraphExecMemcpyNodeSetParamsToSymbol | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | const void * | symbol,
|  | const void * | src,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Sets the parameters for a memcpy node in the given graphExec to copy to a symbol on the device.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | symbol | - Device symbol address.
  [in] | src | - pointer to memory address of the src.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecMemsetNodeSetParams()

hipError_t hipGraphExecMemsetNodeSetParams | ( | hipGraphExec_t | hGraphExec,
|  | hipGraphNode_t | node,
|  | const hipMemsetParams * | pNodeParams
| ) |  |

Sets the parameters for a memset node in the given graphExec.

Parameters

  [in] | hGraphExec | - instance of the executable graph with the node.
  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphExecUpdate()

hipError_t hipGraphExecUpdate | ( | hipGraphExec_t | hGraphExec,
|  | hipGraph_t | hGraph,
|  | hipGraphNode_t * | hErrorNode_out,
|  | hipGraphExecUpdateResult * | updateResult_out
| ) |  |

Check whether an executable graph can be updated with a graph and perform the update if * possible.

Parameters

  [in] | hGraphExec | - instance of executable graph to update.
  [in] | hGraph | - graph that contains the updated parameters.
  [in] | hErrorNode_out | - node which caused the permissibility check to forbid the update.
  [in] | updateResult_out | - Whether the graph update was permitted.

Returns
  hipSuccess, hipErrorGraphExecUpdateFailure

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphGetEdges()

hipError_t hipGraphGetEdges | ( | hipGraph_t | graph,
|  | hipGraphNode_t * | from,
|  | hipGraphNode_t * | to,
|  | size_t * | numEdges
| ) |  |

Returns a graph's dependency edges.

Parameters

  [in] | graph | - instance of the graph to get the edges from.
  [out] | from | - pointer to the graph nodes to return edge endpoints.
  [out] | to | - pointer to the graph nodes to return edge endpoints.
  [out] | numEdges | - returns number of edges.

Returns
  hipSuccess, hipErrorInvalidValue

from and to may both be NULL, in which case this function only returns the number of edges in numEdges. Otherwise, numEdges entries will be filled in. If numEdges is higher than the actual number of edges, the remaining entries in from and to will be set to NULL, and the number of edges actually returned will be written to numEdges

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphGetNodes()

hipError_t hipGraphGetNodes | ( | hipGraph_t | graph,
|  | hipGraphNode_t * | nodes,
|  | size_t * | numNodes
| ) |  |

Returns graph nodes.

Parameters

  [in] | graph | - instance of graph to get the nodes.
  [out] | nodes | - pointer to return the graph nodes.
  [out] | numNodes | - returns number of graph nodes.

Returns
  hipSuccess, hipErrorInvalidValue

nodes may be NULL, in which case this function will return the number of nodes in numNodes. Otherwise, numNodes entries will be filled in. If numNodes is higher than the actual number of nodes, the remaining entries in nodes will be set to NULL, and the number of nodes actually obtained will be returned in numNodes.

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphGetRootNodes()

hipError_t hipGraphGetRootNodes | ( | hipGraph_t | graph,
|  | hipGraphNode_t * | pRootNodes,
|  | size_t * | pNumRootNodes
| ) |  |

Returns graph's root nodes.

Parameters

  [in] | graph | - instance of the graph to get the nodes.
  [out] | pRootNodes | - pointer to return the graph's root nodes.
  [out] | pNumRootNodes | - returns the number of graph's root nodes.

Returns
  hipSuccess, hipErrorInvalidValue

pRootNodes may be NULL, in which case this function will return the number of root nodes in pNumRootNodes. Otherwise, pNumRootNodes entries will be filled in. If pNumRootNodes is higher than the actual number of root nodes, the remaining entries in pRootNodes will be set to NULL, and the number of nodes actually obtained will be returned in pNumRootNodes.

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphHostNodeGetParams()

hipError_t hipGraphHostNodeGetParams | ( | hipGraphNode_t | node,
|  | hipHostNodeParams * | pNodeParams
| ) |  |

Returns a host node's parameters.

Parameters

  [in] | node | - instane of the node to get parameters from.
  [out] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphHostNodeSetParams()

hipError_t hipGraphHostNodeSetParams | ( | hipGraphNode_t | node,
|  | const hipHostNodeParams * | pNodeParams
| ) |  |

Sets a host node's parameters.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphInstantiate()

hipError_t hipGraphInstantiate | ( | hipGraphExec_t * | pGraphExec,
|  | hipGraph_t | graph,
|  | hipGraphNode_t * | pErrorNode,
|  | char * | pLogBuffer,
|  | size_t | bufferSize
| ) |  |

Creates an executable graph from a graph.

Parameters

  [out] | pGraphExec | - pointer to instantiated executable graph that is created.
  [in] | graph | - instance of graph to instantiate.
  [out] | pErrorNode | - pointer to error node in case error occured in graph instantiation, it could modify the correponding node.
  [out] | pLogBuffer | - pointer to log buffer.
  [out] | bufferSize | - the size of log buffer.

Returns
  hipSuccess, #hipErrorOutOfMemory

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphInstantiateWithFlags()

hipError_t hipGraphInstantiateWithFlags | ( | hipGraphExec_t * | pGraphExec,
|  | hipGraph_t | graph,
|  | unsigned long long | flags
| ) |  |

Creates an executable graph from a graph.

Parameters

  [out] | pGraphExec | - pointer to instantiated executable graph that is created.
  [in] | graph | - instance of graph to instantiate.
  [in] | flags | - Flags to control instantiation.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphKernelNodeGetParams()

hipError_t hipGraphKernelNodeGetParams | ( | hipGraphNode_t | node,
|  | hipKernelNodeParams * | pNodeParams
| ) |  |

Gets kernel node's parameters.

Parameters

  [in] | node | - instance of the node to get parameters from.
  [out] | pNodeParams | - pointer to the parameters

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphKernelNodeSetParams()

hipError_t hipGraphKernelNodeSetParams | ( | hipGraphNode_t | node,
|  | const hipKernelNodeParams * | pNodeParams
| ) |  |

Sets a kernel node's parameters.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - const pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphLaunch()

hipError_t hipGraphLaunch | ( | hipGraphExec_t | graphExec,
|  | hipStream_t | stream
| ) |  |

launches an executable graph in a stream

Parameters

  [in] | graphExec | - instance of executable graph to launch.
  [in] | stream | - instance of stream in which to launch executable graph.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemcpyNodeGetParams()

hipError_t hipGraphMemcpyNodeGetParams | ( | hipGraphNode_t | node,
|  | hipMemcpy3DParms * | pNodeParams
| ) |  |

Gets a memcpy node's parameters.

Parameters

  [in] | node | - instance of the node to get parameters from.
  [out] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemcpyNodeSetParams()

hipError_t hipGraphMemcpyNodeSetParams | ( | hipGraphNode_t | node,
|  | const hipMemcpy3DParms * | pNodeParams
| ) |  |

Sets a memcpy node's parameters.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - const pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemcpyNodeSetParams1D()

hipError_t hipGraphMemcpyNodeSetParams1D | ( | hipGraphNode_t | node,
|  | void * | dst,
|  | const void * | src,
|  | size_t | count,
|  | hipMemcpyKind | kind
| ) |  |

Sets a memcpy node's parameters to perform a 1-dimensional copy.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | dst | - pointer to memory address to the destination.
  [in] | src | - pointer to memory address to the source.
  [in] | count | - the size of the memory to copy.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemcpyNodeSetParamsFromSymbol()

hipError_t hipGraphMemcpyNodeSetParamsFromSymbol | ( | hipGraphNode_t | node,
|  | void * | dst,
|  | const void * | symbol,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Sets a memcpy node's parameters to copy from a symbol on the device.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | dst | - pointer to memory address to the destination.
  [in] | symbol | - Device symbol address.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemcpyNodeSetParamsToSymbol()

hipError_t hipGraphMemcpyNodeSetParamsToSymbol | ( | hipGraphNode_t | node,
|  | const void * | symbol,
|  | const void * | src,
|  | size_t | count,
|  | size_t | offset,
|  | hipMemcpyKind | kind
| ) |  |

Sets a memcpy node's parameters to copy to a symbol on the device.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | symbol | - Device symbol address.
  [in] | src | - pointer to memory address of the src.
  [in] | count | - the size of the memory to copy.
  [in] | offset | - Offset from start of symbol in bytes.
  [in] | kind | - the type of memory copy.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemsetNodeGetParams()

hipError_t hipGraphMemsetNodeGetParams | ( | hipGraphNode_t | node,
|  | hipMemsetParams * | pNodeParams
| ) |  |

Gets a memset node's parameters.

Parameters

  [in] | node | - instane of the node to get parameters from.
  [out] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphMemsetNodeSetParams()

hipError_t hipGraphMemsetNodeSetParams | ( | hipGraphNode_t | node,
|  | const hipMemsetParams * | pNodeParams
| ) |  |

Sets a memset node's parameters.

Parameters

  [in] | node | - instance of the node to set parameters to.
  [in] | pNodeParams | - pointer to the parameters.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphNodeFindInClone()

hipError_t hipGraphNodeFindInClone | ( | hipGraphNode_t * | pNode,
|  | hipGraphNode_t | originalNode,
|  | hipGraph_t | clonedGraph
| ) |  |

Finds a cloned version of a node.

Parameters

  [out] | pNode | - Returns the cloned node.
  [in] | originalNode | - original node handle.
  [in] | clonedGraph | - Cloned graph to query.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphNodeGetDependencies()

hipError_t hipGraphNodeGetDependencies | ( | hipGraphNode_t | node,
|  | hipGraphNode_t * | pDependencies,
|  | size_t * | pNumDependencies
| ) |  |

Returns a node's dependencies.

Parameters

  [in] | node | - graph node to get the dependencies from.
  [out] | pDependencies | - pointer to to return the dependencies.
  [out] | pNumDependencies | - returns the number of graph node dependencies.

Returns
  hipSuccess, hipErrorInvalidValue

pDependencies may be NULL, in which case this function will return the number of dependencies in pNumDependencies. Otherwise, pNumDependencies entries will be filled in. If pNumDependencies is higher than the actual number of dependencies, the remaining entries in pDependencies will be set to NULL, and the number of nodes actually obtained will be returned in pNumDependencies.

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphNodeGetDependentNodes()

hipError_t hipGraphNodeGetDependentNodes | ( | hipGraphNode_t | node,
|  | hipGraphNode_t * | pDependentNodes,
|  | size_t * | pNumDependentNodes
| ) |  |

Returns a node's dependent nodes.

Parameters

  [in] | node | - graph node to get the Dependent nodes from.
  [out] | pDependentNodes | - pointer to return the graph dependent nodes.
  [out] | pNumDependentNodes | - returns the number of graph node dependent nodes.

Returns
  hipSuccess, hipErrorInvalidValue

DependentNodes may be NULL, in which case this function will return the number of dependent nodes in pNumDependentNodes. Otherwise, pNumDependentNodes entries will be filled in. If pNumDependentNodes is higher than the actual number of dependent nodes, the remaining entries in pDependentNodes will be set to NULL, and the number of nodes actually obtained will be returned in pNumDependentNodes.

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphNodeGetType()

hipError_t hipGraphNodeGetType | ( | hipGraphNode_t | node,
|  | hipGraphNodeType * | pType
| ) |  |

Returns a node's type.

Parameters

  [in] | node | - instance of the graph to add dependencies.
  [out] | pType | - pointer to the return the type

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipGraphRemoveDependencies()

hipError_t hipGraphRemoveDependencies | ( | hipGraph_t | graph,
|  | const hipGraphNode_t * | from,
|  | const hipGraphNode_t * | to,
|  | size_t | numDependencies
| ) |  |

Removes dependency edges from a graph.

Parameters

  [in] | graph | - instance of the graph to remove dependencies.
  [in] | from | - Array of nodes that provide the dependencies.
  [in] | to | - Array of dependent nodes.
  [in] | numDependencies | - the number of dependencies to remove.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamBeginCapture()

hipError_t hipStreamBeginCapture | ( | hipStream_t | stream,
|  | hipStreamCaptureMode | mode
| ) |  |

Begins graph capture on a stream.

Parameters

  [in] | stream | - Stream to initiate capture.
  [in] | mode | - Controls the interaction of this capture sequence with other API calls that are not safe.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamEndCapture()

hipError_t hipStreamEndCapture | ( | hipStream_t | stream,
|  | hipGraph_t * | pGraph
| ) |  |

Ends capture on a stream, returning the captured graph.

Parameters

  [in] | stream | - Stream to end capture.
  [out] | pGraph | - returns the graph captured.

Returns
  hipSuccess, hipErrorInvalidValue

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamGetCaptureInfo()

hipError_t hipStreamGetCaptureInfo | ( | hipStream_t | stream,
|  | hipStreamCaptureStatus * | pCaptureStatus,
|  | unsigned long long * | pId
| ) |  |

Get capture status of a stream.

Parameters

  [in] | stream | - Stream under capture.
  [out] | pCaptureStatus | - returns current status of the capture.
  [out] | pId | - unique ID of the capture.

Returns
  hipSuccess, hipErrorStreamCaptureImplicit

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamGetCaptureInfo_v2()

hipError_t hipStreamGetCaptureInfo_v2 | ( | hipStream_t | stream,
|  | hipStreamCaptureStatus * | captureStatus_out,
|  | unsigned long long *id_out | __dparm0,
|  | hipGraph_t *graph_out | __dparm0,
|  | const hipGraphNode_t **dependencies_out | __dparm0,
|  | size_t *numDependencies_out | __dparm0
| ) |  |

Get stream's capture state.

Parameters

  [in] | stream | - Stream under capture.
  [out] | captureStatus_out | - returns current status of the capture.
  [out] | id_out | - unique ID of the capture.
  [in] | graph_out | - returns the graph being captured into.
  [out] | dependencies_out | - returns pointer to an array of nodes.
  [out] | numDependencies_out | - returns size of the array returned in dependencies_out.

Returns
  hipSuccess, hipErrorInvalidValue, hipErrorStreamCaptureImplicit

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamIsCapturing()

hipError_t hipStreamIsCapturing | ( | hipStream_t | stream,
|  | hipStreamCaptureStatus * | pCaptureStatus
| ) |  |

Get stream's capture state.

Parameters

  [in] | stream | - Stream under capture.
  [out] | pCaptureStatus | - returns current status of the capture.

Returns
  hipSuccess, hipErrorInvalidValue, hipErrorStreamCaptureImplicit

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.

## ◆ hipStreamUpdateCaptureDependencies()

hipError_t hipStreamUpdateCaptureDependencies | ( | hipStream_t | stream,
|  | hipGraphNode_t * | dependencies,
|  | size_t | numDependencies,
|  | unsigned int flags | __dparm0
| ) |  |

Update the set of dependencies in a capturing stream.

Parameters

  [in] | stream | - Stream under capture.
  [in] | dependencies | - pointer to an array of nodes to Add/Replace.
  [in] | numDependencies | - size of the array in dependencies.

Returns
  hipSuccess, hipErrorInvalidValue, hipErrorIllegalState

Warning
  : This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.