aclSetAclOpExecutorRepeatable
函数功能
使能aclOpExecutor为可复用状态。当用户想复用已有的aclOpExecutor时,必须在第一段接口aclXxxGetworkspaceSize运行完成后,立即使用该接口使能复用,后续可多次调用第二段接口aclXxx进行算子执行。
函数原型
aclnnStatus aclSetAclOpExecutorRepeatable(aclOpExecutor *executor)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
executor |
输入 |
待设置复用的aclOpExecutor。 |
返回值说明
返回0表示成功,返回其他值表示失败。
约束限制
- 目前采用AI CPU和AI Core计算单元的算子支持使能aclOpExecutor可复用。
- 调用单算子API执行接口时,如下场景无法使能aclOpExecutor复用:
- 如果使用了HostToDevice、DeviceToDevice拷贝相关的L0层API,如CopyToNpu、CopyNpuToNpu、CopyToNpuSync等,不支持aclOpExecutor复用。
- 如果使用了L0层ViewCopy接口,同时ViewCopy的源地址和目的地址相同时,不支持aclOpExecutor复用。
- 调用单算子API执行接口时,不允许算子API内部创建Device Tensor,只允许使用外部传入的Tensor。
- 设置成复用状态的aclOpExecutor在第二段接口执行完后不会对executor的资源进行清理,需要和aclDestroyAclOpExecutor配套使用清理资源。
父主题: 基础接口