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. |