函数:execute
产品支持情况
产品 |
是否支持 |
---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
函数原型
- C函数原型
1
aclError aclopExecute(const char *opType,int numInputs,const aclTensorDesc *const inputDesc[],const aclDataBuffer *const inputs[],int numOutputs,const aclTensorDesc *const outputDesc[],aclDataBuffer *const outputs[],const aclopAttr *attr,aclrtStream stream);
- python函数
1
ret = acl.op.execute(op_type, input_desc,inputs, output_desc, outputs, attr,stream)
参数说明
参数名 |
说明 |
---|---|
op_type |
str,指定算子类型名称。 |
input_desc |
list,表示算子输入Tensor的描述, 整形列表,包含多个acl的Tensor描述地址对象。 |
inputs |
list,表示算子输入Tensor,整形列表,包含多个aclDataBuffer数据地址对象。 |
output_desc |
list,表示算子输出Tensor的描述,整形列表,包含多个acl的Tensor描述地址对象。 |
outputs |
list,表示算子输出Tensor,整形列表,包含多个aclDataBuffer数据地址对象。 |
attr |
int, 算子的属性地址对象。 |
stream |
int, 该算子需要加载的Stream对象。 |
返回值说明
返回值 |
说明 |
---|---|
ret |
int,错误码,返回0表示成功,返回其它值表示失败。 |
约束说明
- 该接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成。
- 多线程场景下,不支持调用本接口时指定同一个Stream或使用默认Stream,否则可能任务执行异常。
- 每个算子的输入、输出、属性不同,需要应用在调用时严格按照算子输入、输出、属性来组织算子。用户在调用acl.op.execute接口时,根据op_type、输入Tensor的描述、输出Tensor的描述、attr等信息查找对应的任务,并下发执行。
父主题: 单算子模型执行