ExecuteGraphWithStreamAsync
Applicability
|
Product |
Supported or Not |
|---|---|
|
|
√ |
|
|
√ |
|
|
x |
|
|
√ |
|
|
√ |
Header File/Library File
- Header file: #include <ge/ge_api.h>
- Library file: libge_runner.so
Function Usage
Runs the graph of a specified ID and returns the execution result. This API is asynchronous.
Both this function and RunGraphWithStreamAsync are used to run the graph of a specified ID and output the result. However, this function features the following:
- The CompileGraph and LoadGraph processes (asynchronous graph execution) must be completed before this API call.
- The data type of inputs and outputs is gert::Tensor. For details, see Constructor.
Prototype
1
|
Status ExecuteGraphWithStreamAsync(uint32_t graph_id, void *stream,const std::vector<gert::Tensor> &inputs,std::vector<gert::Tensor> &outputs) |
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
graph_id |
Input |
Subgraph ID. |
|
stream |
Input |
Stream on which a graph is run. |
|
inputs |
Input |
Input data of the current subgraph, which is the memory on the device. If the value of ge.exec.hostInputIndexes parameter is specified using options, Tensor of the corresponding index specifies the memory space on the host. |
|
outputs |
Output |
Output data of the current subgraph, which is the memory on the device. |
Returns
|
Parameter |
Type |
Description |
|---|---|---|
|
- |
Status |
SUCCESS: The graph is successfully run by using the asynchronous API. FAILED: The graph fails to be run by using the asynchronous API. |
Restrictions
- The memory required by Tensor must be allocated before this API call.
- The CompileGraph and LoadGraph processes must be completed before this API call.
- A stream must be created using aclrtCreateStream provided by acl before this API call.
- Before the graph running result is output, the tasks on the stream are complete by using aclrtSynchronizeStream provided by acl.