|
HIP: Heterogenous-computing Interface for Portability
|
This section describes the graph management types & functions of HIP runtime API. More...

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 |
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 | hipGraphCreate (hipGraph_t *pGraph, unsigned int flags) |
| Creates a graph. More... | |
| hipError_t | hipGraphDestroy (hipGraph_t graph) |
| Destroys a graph. More... | |
| hipError_t | hipGraphExecDestroy (hipGraphExec_t pGraphExec) |
| Destroys an executable graph. 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 | hipGraphLaunch (hipGraphExec_t graphExec, hipStream_t stream) |
| launches an executable graph in a stream 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | hipGraphExecKernelNodeSetParams (hipGraphExec_t hGraphExec, hipGraphNode_t node, const hipKernelNodeParams *pNodeParams) |
| Sets the parameters for a kernel node in the given graphExec. 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 | 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... | |
This section describes the graph management types & functions of HIP runtime API.
| typedef struct ihipGraph* hipGraph_t |
An opaque value that represents a hip graph
| typedef struct hipGraphExec* hipGraphExec_t |
An opaque value that represents a hip graph Exec
| typedef struct hipGraphNode* hipGraphNode_t |
An opaque value that represents a hip graph node
| enum hipGraphNodeType |
| hipError_t hipGraphAddDependencies | ( | hipGraph_t | graph, |
| const hipGraphNode_t * | from, | ||
| const hipGraphNode_t * | to, | ||
| size_t | numDependencies | ||
| ) |
Adds dependency edges to a graph.
| [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. |
| 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.
| [out] | pGraphNode | - pointer to the graph node to create and add to the graph. |
| [in,out] | graph | - instane of the graph the node is add to. |
| [in] | pDependencies | - const pointer to the node dependenties. |
| [in] | numDependencies | - the number of dependencies. |
| 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.
| [out] | pGraphNode | - pointer to graph node to create. |
| [in,out] | 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. |
| 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.
| [out] | pGraphNode | - pointer to graph node to create. |
| [in,out] | graph | - instance of graph to add the created node. |
| [in] | pDependencies | - const pointer to the dependencies on the kernel execution node. |
| [in] | numDependencies | - the number of the dependencies. |
| [in] | pCopyParams | - const pointer to the parameters for the memory copy. |
| 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.
| [out] | pGraphNode | - pointer to graph node to create. |
| [in,out] | graph | - instance of the graph to add the created node. |
| [in] | pDependencies | - const pointer to the dependencies on the kernel 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. |
| 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.
| [out] | pGraphNode | - pointer to the graph node to create. |
| [in,out] | graph | - instance of the graph to add the created node. |
| [in] | pDependencies | - const pointer to the dependencies on the kernel execution node. |
| [in] | numDependencies | - the number of the dependencies. |
| [in] | pMemsetParams | - const pointer to the parameters for the memory set. |
| hipError_t hipGraphCreate | ( | hipGraph_t * | pGraph, |
| unsigned int | flags | ||
| ) |
Creates a graph.
| [out] | pGraph | - pointer to graph to create. |
| [in] | flags | - flags for graph creation, must be 0. |
| hipError_t hipGraphDestroy | ( | hipGraph_t | graph | ) |
Destroys a graph.
| [in] | graph | - instance of graph to destroy. |
| hipError_t hipGraphExecDestroy | ( | hipGraphExec_t | pGraphExec | ) |
Destroys an executable graph.
| [in] | pGraphExec | - instance of executable graph to destry. |
| hipError_t hipGraphExecKernelNodeSetParams | ( | hipGraphExec_t | hGraphExec, |
| hipGraphNode_t | node, | ||
| const hipKernelNodeParams * | pNodeParams | ||
| ) |
Sets the parameters for a kernel node in the given graphExec.
| [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. |
| hipError_t hipGraphGetNodes | ( | hipGraph_t | graph, |
| hipGraphNode_t * | nodes, | ||
| size_t * | numNodes | ||
| ) |
Returns graph nodes.
| [in] | graph | - instance of graph to get the nodes. |
| [out] | nodes | - pointer to the graph nodes. |
| [out] | numNodes | - the number of graph nodes. |
| hipError_t hipGraphGetRootNodes | ( | hipGraph_t | graph, |
| hipGraphNode_t * | pRootNodes, | ||
| size_t * | pNumRootNodes | ||
| ) |
Returns graph's root nodes.
| [in] | graph | - instance of the graph to get the nodes. |
| [out] | pRootNodes | - pointer to the graph's root nodes. |
| [out] | pNumRootNodes | - the number of graph's root nodes. |
| hipError_t hipGraphInstantiate | ( | hipGraphExec_t * | pGraphExec, |
| hipGraph_t | graph, | ||
| hipGraphNode_t * | pErrorNode, | ||
| char * | pLogBuffer, | ||
| size_t | bufferSize | ||
| ) |
Creates an executable graph from a graph.
| [out] | pGraphExec | - pointer to instantiated executable graph to create. |
| [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. |
| [in] | bufferSize | - the size of log buffer. |
| hipError_t hipGraphKernelNodeGetParams | ( | hipGraphNode_t | node, |
| hipKernelNodeParams * | pNodeParams | ||
| ) |
Gets kernel node's parameters.
| [in] | node | - instance of the node to get parameters from. |
| [out] | pNodeParams | - pointer to the parameters |
| hipError_t hipGraphKernelNodeSetParams | ( | hipGraphNode_t | node, |
| const hipKernelNodeParams * | pNodeParams | ||
| ) |
Sets a kernel node's parameters.
| [in] | node | - instance of the node to set parameters to. |
| [in] | pNodeParams | - const pointer to the parameters. |
| hipError_t hipGraphLaunch | ( | hipGraphExec_t | graphExec, |
| hipStream_t | stream | ||
| ) |
launches an executable graph in a stream
| [in] | graphExec | - instance of executable graph to launch. |
| [in] | stream | - instance of stream in which to launch executable graph. |
| hipError_t hipGraphMemcpyNodeGetParams | ( | hipGraphNode_t | node, |
| hipMemcpy3DParms * | pNodeParams | ||
| ) |
Gets a memcpy node's parameters.
| [in] | node | - instance of the node to get parameters from. |
| [out] | pNodeParams | - pointer to the parameters. |
| hipError_t hipGraphMemcpyNodeSetParams | ( | hipGraphNode_t | node, |
| const hipMemcpy3DParms * | pNodeParams | ||
| ) |
Sets a memcpy node's parameters.
| [in] | node | - instance of the node to set parameters to. |
| [in] | pNodeParams | - const pointer to the parameters. |
| hipError_t hipGraphMemsetNodeGetParams | ( | hipGraphNode_t | node, |
| hipMemsetParams * | pNodeParams | ||
| ) |
Gets a memset node's parameters.
| [in] | node | - instane of the node to get parameters from. |
| [out] | pNodeParams | - pointer to the parameters. |
| hipError_t hipGraphMemsetNodeSetParams | ( | hipGraphNode_t | node, |
| const hipMemsetParams * | pNodeParams | ||
| ) |
Sets a memset node's parameters.
| [in] | node | - instance of the node to set parameters to. |
| [out] | pNodeParams | - pointer to the parameters. |
| hipError_t hipStreamBeginCapture | ( | hipStream_t | stream, |
| hipStreamCaptureMode | mode | ||
| ) |
Begins graph capture on a stream.
| [in] | stream | - Stream to initiate capture. |
| [in] | mode | - Controls the interaction of this capture sequence with other API calls that are not safe. |
| hipError_t hipStreamEndCapture | ( | hipStream_t | stream, |
| hipGraph_t * | pGraph | ||
| ) |
Ends capture on a stream, returning the captured graph.
| [in] | stream | - Stream to end capture. |
| [out] | pGraph | - returns the graph captured. |
1.8.18