---
title: 预留接口
description: "本章接口为预留接口，后续有可能变更或废弃，不建议开发者使用，开发者无需关注。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/aolapi/atlasascendc_api_07_1133.html
sourcePath: /source/zh/canncommercial/900/API/aolapi/atlasascendc_api_07_1133.html
indexId: f6511e8d19c6c3e5b1a46ad77c002ac22b6ed0eaadaca7f48236593d18291c4870
---
# 预留接口

本章接口为预留接口，后续有可能变更或废弃，不建议开发者使用，开发者无需关注。


**表1 接口列表**

| 接口定义 | 功能说明 |
| --- | --- |
| aclOpExecutor() | aclOpExecutor是用于记录整个host侧API运行信息的上下文结构，host侧API中几乎所有操作都以该数据结构为媒介，该函数为其构造函数。 |
| CreateView(const aclTensor \*tensor, const op::Shape &shape, int64\_t offset) | 针对一个已有的aclTensor，创建一个它的view类tensor，两个tensor共享device内存，可以指定后者的shape和offset。 |
| CreateView(const aclTensor \*tensor, const op::Shape &oriShape, const op::Shape &storageShape, const op::Strides &oriStride, int64\_t offset) | 针对一个已有的aclTensor，创建一个它的view类tensor，两个tensor共享device内存，可以指定后者的originShape、storageShape、originStride和offset。 |
| UpdateTensorAddr(void \*workspaceAddr, const size\_t size) | 在workspace地址分配后，刷新每个workspace的地址。 |
| GetWorkspaceAddr() | 获取workspace的起始指针。 |
| GetWorkspaceSize() | 获取所需workspace的大小。 |
| GetLinearWorkspaceSize() | 废弃接口，开发者无需关注。 |
| GetWorkspaceOffsets() | 获取记录的workspace offset列表。 |
| SetWorkspaceOffsets(const op::FVector<uint64\_t> &workspaceOffsets) | 设置要记录的workspace offset列表。 |
| Run() | 运行aclOpExecutor执行队列中的任务。 |
| GetStream() | 获取当前执行流。 |
| GetInputTensors() | 获取host侧API接口中的输入aclTensor。 |
| GetOutputTensors() | 获取host侧API接口中的输出aclTensor。 |
| GetLogInfo() | 获取aclOpExecutor中存储的日志相关信息。 |
| SetLogInfo(const op::internal::OpLogInfo &logInfo) | 设置aclOpExecutor中存储的日志相关信息。 |
| GetOpConfigInfo() | 获取算子运行时相关的配置信息。 |
| SetOpConfigInfo(const op::OpConfigInfo &opConfigInfo) | 设置算子运行时相关的配置信息。 |
| SetStream(aclrtStream stream) | 设置当前运行流。 |
| AddTensorRelation(const aclTensor \*tensorOut, const aclTensor \*tensorMiddle) | 记录两个aclTensor间的地址等价关系，用于aclnn cache。 |
| UpdateStorageAddr() | 在aclOpExecutor复用场景中，刷新aclTensor地址。 |
| SetRepeatable() | 尝试设置当前aclOpExecutor为可复用状态。 |
| IsRepeatable() | 判断当前aclOpExecutor是否为可复用状态。 |
| FinalizeCache() | 完成aclnn cache最终的数据保存工作。 |
| RepeatRunWithCache(void \*workspaceAddr, const aclrtStream stream) | 复用aclOpExecutor场景，尝试利用aclnn cache完成任务执行。 |
| CheckLauncherRepeatable() | 判断aclOpExecutor任务列表中的每个任务都允许aclOpExecutor复用。 |
| AddCache() | 将aclOpExecutor中的aclnn cache保存到全局管理。 |
| DeleteCache() | 删除aclnn cache。 |
| GetOpExecCache() | 获取aclOpExecutor中记录的aclnn cache。 |
| SetIOTensorList() | 记录host侧API的输入/输出aclTensor。 |
| GetGraph() | 获取host侧API的执行图。 |
| GetMagicNumber() | 获取magic number，用于不同对象的区分。 |
| UniqueExecutor(const char \*funcName) | UniqueExecutor是aclOpExecutor的构造工厂，该函数为其构造函数。 |
| UniqueExecutor() | UniqueExecutor是aclOpExecutor的构造工厂，该函数为其构造函数。 |
| get() | 获取UniqueExecutor中的aclOpExecutor指针。 |
| ReleaseTo(aclOpExecutor \*\*executor) | 将UniqueExecutor中的aclOpExecutor指针传递给目标aclOpExecutor指针。 |
| UniqueExecutor(const UniqueExecutor &) | 废弃接口，开发者无需关注。 |
| GetOpExecCacheFromExecutor(aclOpExecutor \*) | 尝试将外部的aclOpExecutor转为aclnn cache对象。 |
| InitL2Phase1Context(const char \*l2Name, [[maybe\_unused]] aclOpExecutor \*\*executor) | 初始化host侧API一阶段中的部分DFX变量值。 |
| InitL2Phase2Context([[maybe\_unused]] const char\* l2Name, aclOpExecutor\* executor) | 初始化host侧API二阶段中的部分DFX变量值。 |
| InitL0Context(const char \*profilingName, aclOpExecutor\* executor) | 初始化L0接口的部分DFX变量值。 |
| CreatAiCoreKernelLauncher([[maybe\_unused]] const char \*l0Name, uint32\_t opType, aclOpExecutor \*executor, op::OpArgContext \*args) | 创建一个AI Core任务对象。 |
| CreatDSAKernelLauncher([[maybe\_unused]] const char \*l0Name, uint32\_t opType, DSA\_TASK\_TYPE dsaTask, aclOpExecutor \*executor, op::OpArgContext \*args) | 创建一个DSA任务对象。 |
| InferShape(uint32\_t optype, op::OpArgList &inputs, op::OpArgList &outputs, op::OpArgList &attrs) | 执行指定算子的infer shape，获取infer shape的结果。 |
| ConvertToTensor(const aclIntArray \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const aclBoolArray \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const aclFloatArray \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const aclFp16Array \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const aclBf16Array \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const T \*value, uint64\_t size, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| ConvertToTensor(const aclScalar \*value, op::DataType dataType) | 将不同类型的host侧数据，转为一个host侧的aclTensor。 |
| AddToKernelLauncherList(op::KernelLauncher \*obj) | 添加一个AI Core任务到执行队列。 |
| AddToKernelLauncherListDvpp(uint32\_t opType, op::KernelLauncher \*obj, op::OpArgContext \*args) | 添加一个DVPP任务到执行队列。 |
| AddToKernelLauncherListCopyTask(uint32\_t opType, op::KernelLauncher \*obj, op::OpArgList &inputs, op::OpArgList &outputs, op::OpArgList &workspace) | 添加一个数据拷贝类任务到执行队列。 |
| AddToKernelLauncherListAiCpu(int32\_t opType, op::KernelLauncher \*obj, op::OpArgContext \*args) | 添加一个AI CPU任务到执行队列。 |
| CommonOpExecutorRun(void \*workspace, uint64\_t workspaceSize, aclOpExecutor \*executor, aclrtStream stream) | 根据外部给出的aclOpExecutor及workspace、stream，执行上下文中的所有任务。 |
