未验证 提交 9acf5c76 编写于 作者: O openharmony_ci 提交者: Gitee

!18614 master:AI-MindSpore Native API新增接口:无需翻译

Merge pull request !18614 from 葛亚芳/master
# MindSpore # MindSpore
提供MindSpore Lite的模型推理相关接口。 ## 概述
@Syscap SystemCapability.Ai.MindSpore 提供MindSpore Lite的模型推理相关接口。
\@Syscap SystemCapability.Ai.MindSpore
**起始版本:** **起始版本:**
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
### 文件 ### 文件
| 文件名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------- | ------------------------------------------------------------ |
| [context.h](context_8h.md) | 提供了Context相关的接口,可以配置运行时信息。<br>引用文件:\<mindspore/context.h> | | [context.h](context_8h.md) | 提供了Context相关的接口,可以配置运行时信息。<br>引用文件:\<mindspore/context.h> |
| [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br>引用文件:\<mindspore/data_type.h> | | [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br>引用文件:\<mindspore/data_type.h> |
| [format.h](format_8h.md) | 提供张量数据的排列格式。<br>引用文件:\<mindspore/format.h> | | [format.h](format_8h.md) | 提供张量数据的排列格式。<br>引用文件:\<mindspore/format.h> |
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
### 结构体 ### 结构体
| 结构体名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ---------------------------------------------------- |
| [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 | | [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 |
| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM**。 | | [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM**。 |
| [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) | 回调函数中传入的算子信息。 | | [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) | 回调函数中传入的算子信息。 |
...@@ -39,97 +39,117 @@ ...@@ -39,97 +39,117 @@
### 宏定义 ### 宏定义
| 宏定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------ | -------------------------------------------- |
| [OH_AI_MAX_SHAPE_NUM](#oh_ai_max_shape_num) 32 | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM**。 | | [OH_AI_MAX_SHAPE_NUM](#oh_ai_max_shape_num) 32 | 张量维度的最大值。 |
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | -------------------------------------------------- |
| [OH_AI_ContextHandle](#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 | | [OH_AI_ContextHandle](#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 |
| [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 | | [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 |
| [OH_AI_DataType](#oh_ai_datatype-1) | MSTensor保存的数据支持的类型。 | | [OH_AI_DataType](#oh_ai_datatype) | MSTensor保存的数据支持的类型。 |
| [OH_AI_Format](#oh_ai_format-1) | MSTensor保存的数据支持的排列格式。 | | [OH_AI_Format](#oh_ai_format) | MSTensor保存的数据支持的排列格式。 |
| [OH_AI_ModelHandle](#oh_ai_modelhandle) | 指向模型对象的指针。 | | [OH_AI_ModelHandle](#oh_ai_modelhandle) | 指向模型对象的指针。 |
| [OH_AI_TensorHandleArray](#oh_ai_tensorhandlearray) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 | | [OH_AI_TensorHandleArray](#oh_ai_tensorhandlearray) | 张量数组结构体,用于存储张量数组指针和张量数组长度 |
| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM** | | [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
| [OH_AI_CallBackParam](#oh_ai_callbackparam) | 回调函数中传入的算子信息。 | | [OH_AI_CallBackParam](#oh_ai_callbackparam) | 回调函数中传入的算子信息。 |
| [OH_AI_KernelCallBack](#oh_ai_kernelcallback)) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) | 回调函数指针。 | | [OH_AI_KernelCallBack](#oh_ai_kernelcallback)) (const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) outputs, const [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) kernel_Info) | 回调函数指针。 |
| [OH_AI_Status](#oh_ai_status-1) | Minspore的状态码。 | | [OH_AI_Status](#oh_ai_status) | Minspore的状态码。 |
| [OH_AI_TensorHandle](#oh_ai_tensorhandle) | 指向张量对象句柄。 | | [OH_AI_TensorHandle](#oh_ai_tensorhandle) | 指向张量对象句柄。 |
| [OH_AI_ModelType](#oh_ai_modeltype-1) | 模型文件的类型。 | | [OH_AI_ModelType](#oh_ai_modeltype) | 模型文件的类型。 |
| [OH_AI_DeviceType](#oh_ai_devicetype-1) | 设备类型,该信息。 | | [OH_AI_DeviceType](#oh_ai_devicetype) | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) | NNRT管理的硬件设备类型 |
| [OH_AI_PerformanceMode](#oh_ai_performancemode) | NNRT硬件的工作性能模式 |
| [OH_AI_Priority](#oh_ai_priority) | NNRT推理任务优先级 |
| [NNRTDeviceDesc](#nnrtdevicedesc) | NNRT设备信息描述,包含设备ID,设备名称等信息。 |
### 枚举 ### 枚举
| 枚举名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ---------------------------------------- |
| [OH_AI_DataType](#oh_ai_datatype-1) {<br/>OH_AI_DATATYPE_UNKNOWN = 0,<br/>OH_AI_DATATYPE_OBJECTTYPE_STRING = 12,<br/>OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, <br/>OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14, <br/>OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, <br/>OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29,<br/>OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30,<br/>OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38,<br/>OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44,<br/>OH_AI_DATATYPE_NUMBERTYPE_END = 46,<br/>OH_AI_DataTypeInvalid = INT32_MAX } | MSTensor保存的数据支持的类型。 | | [OH_AI_DataType](#oh_ai_datatype-1) {<br/>OH_AI_DATATYPE_UNKNOWN = 0, <br/>OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, <br/>OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, <br/>OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14,<br/>OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, <br/>OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29,<br/> OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30,<br/> OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32,<br/>OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37,<br/>OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39,<br/> OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42,<br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, <br/>OH_AI_DATATYPE_NUMBERTYPE_END = 46,<br/> OH_AI_DataTypeInvalid = INT32_MAX<br/>} | MSTensor保存的数据支持的类型。 |
| [OH_AI_Format](#oh_ai_format-1) {<br/>OH_AI_FORMAT_NCHW = 0,<br/>OH_AI_FORMAT_NHWC = 1,<br/>OH_AI_FORMAT_NHWC4 = 2,<br/>OH_AI_FORMAT_HWKC = 3,<br/>OH_AI_FORMAT_HWCK = 4,<br/>OH_AI_FORMAT_KCHW = 5,<br/>OH_AI_FORMAT_CKHW = 6,<br/>OH_AI_FORMAT_KHWC = 7,<br/>OH_AI_FORMAT_CHWK = 8,<br/>OH_AI_FORMAT_HW = 9,<br/>OH_AI_FORMAT_HW4 = 10,<br/>OH_AI_FORMAT_NC = 11,<br/>OH_AI_FORMAT_NC4 = 12,<br/>OH_AI_FORMAT_NC4HW4 = 13,<br/>OH_AI_FORMAT_NCDHW = 15,<br/>OH_AI_FORMAT_NWC = 16,<br/>OH_AI_FORMAT_NCW = 17 } | MSTensor保存的数据支持的排列格式。 | | [OH_AI_Format](#oh_ai_format-1) {<br/>OH_AI_FORMAT_NCHW = 0,<br/> OH_AI_FORMAT_NHWC = 1, <br/>OH_AI_FORMAT_NHWC4 = 2, <br/>OH_AI_FORMAT_HWKC = 3,<br/>OH_AI_FORMAT_HWCK = 4, <br/>OH_AI_FORMAT_KCHW = 5, <br/>OH_AI_FORMAT_CKHW = 6,<br/> OH_AI_FORMAT_KHWC = 7,<br/>OH_AI_FORMAT_CHWK = 8,<br/> OH_AI_FORMAT_HW = 9, <br/>OH_AI_FORMAT_HW4 = 10,<br/> OH_AI_FORMAT_NC = 11,<br/>OH_AI_FORMAT_NC4 = 12, <br/>OH_AI_FORMAT_NC4HW4 = 13, <br/>OH_AI_FORMAT_NCDHW = 15,<br/> OH_AI_FORMAT_NWC = 16,<br/>OH_AI_FORMAT_NCW = 17<br/>} | MSTensor保存的数据支持的排列格式。 |
| [OH_AI_CompCode](#oh_ai_compcode) {<br/>OH_AI_COMPCODE_CORE = 0x00000000u,<br/>OH_AI_COMPCODE_LITE = 0xF0000000u } | Minspore不同组件的代码、 | | [OH_AI_CompCode](#oh_ai_compcode) { <br/>OH_AI_COMPCODE_CORE = 0x00000000u, <br/>OH_AI_COMPCODE_LITE = 0xF0000000u<br/> } | Minspore不同组件的代码。 |
| [OH_AI_Status](#oh_ai_status-1) {<br/>OH_AI_STATUS_SUCCESS = 0,<br/>OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE \| 0x1, <br/>OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -1), <br/>OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -2),<br/>OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -3),<br/>OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -4),<br/>OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -5),<br/>OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -6),<br/>OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -7),<br/>OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -8),<br/>OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -9),<br/>OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE, <br/>OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR,<br/>OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -102),<br/>OH_AI_STATUS_LITE_GRAPH_FILE_ERROR,<br/>OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -300), OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -301),<br/>OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -302),<br/>OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE,<br/>OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -400),<br/>OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -500),<br/>OH_AI_STATUS_LITE_INFER_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -501),<br/>OH_AI_STATUS_LITE_INPUT_PARAM_INVALID } | Minspore的状态码。 | | [OH_AI_Status](#oh_ai_status-1) {<br/>OH_AI_STATUS_SUCCESS = 0, OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE \| 0x1, OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -1), OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -2),<br/>OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -3), OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -4), OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -5), OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -6),<br/>OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -7), OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -8), OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -9), OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -100),<br/>OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR, OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -102), OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -200), OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -300),<br/>OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -301), OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -302), OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE, OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -400),<br/>OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -500), OH_AI_STATUS_LITE_INFER_INVALID, OH_AI_STATUS_LITE_INPUT_PARAM_INVALID<br/>} | Minspore的状态码。 |
| [OH_AI_ModelType](#oh_ai_modeltype-1) {<br/>OH_AI_MODELTYPE_MINDIR = 0,<br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 | | [OH_AI_ModelType](#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF <br/>} | 模型文件的类型。 |
| [OH_AI_DeviceType](#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0,<br/>OH_AI_DEVICETYPE_KIRIN_GPU,<br/>OH_AI_DEVICETYPE_KIRIN_NPU,<br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100 } | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100<br/>} | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype-1) { <br/>OH_AI_NNRTDEVICE_OTHERS = 0, <br/>OH_AI_NNRTDEVICE_CPU = 1, <br/>OH_AI_NNRTDEVICE_GPU = 2, <br/>OH_AI_NNRTDEVICE_ACCELERATOR = 3<br/> } | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](#oh_ai_performancemode-1) {<br/>OH_AI_PERFORMANCE_NONE = 0, <br/>OH_AI_PERFORMANCE_LOW = 1, <br/>OH_AI_PERFORMANCE_MEDIUM = 2,<br/> OH_AI_PERFORMANCE_HIGH = 3,<br/>OH_AI_PERFORMANCE_EXTREME = 4<br/>} | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](#oh_ai_priority-1) { <br/>OH_AI_PRIORITY_NONE = 0, <br/>OH_AI_PRIORITY_LOW = 1, <br/>OH_AI_PRIORITY_MEDIUM = 2, <br/>OH_AI_PRIORITY_HIGH = 3 <br/>} | NNRT推理任务优先级。 |
### 函数 ### 函数
| 函数名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ------------------------------------------------------------ |
| [OH_AI_ContextCreate](#oh_ai_contextcreate) () | 创建一个上下文的对象。 | | [OH_AI_ContextCreate](#oh_ai_contextcreate) () | 创建一个上下文的对象。 |
| [OH_AI_ContextDestroy](#oh_ai_contextdestroy) (OH_AI_ContextHandle \*context) | 释放上下文对象。 | | [OH_AI_ContextDestroy](#oh_ai_contextdestroy) ([OH_AI_ContextHandle](#oh_ai_contexthandle) \*context) | 释放上下文对象。 |
| [OH_AI_ContextSetThreadNum](#oh_ai_contextsetthreadnum) (OH_AI_ContextHandle context, int32_t thread_num) | 设置运行时的线程数量。 | | [OH_AI_ContextSetThreadNum](#oh_ai_contextsetthreadnum) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int32_t thread_num) | 设置运行时的线程数量。 |
| [OH_AI_ContextGetThreadNum](#oh_ai_contextgetthreadnum) (const OH_AI_ContextHandle context) | 获取线程数量。 | | [OH_AI_ContextGetThreadNum](#oh_ai_contextgetthreadnum) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取线程数量。 |
| [OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode) (OH_AI_ContextHandle context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 | | [OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 |
| [OH_AI_ContextGetThreadAffinityMode](#oh_ai_contextgetthreadaffinitymode) (const OH_AI_ContextHandle context) | 获取运行时线程绑定CPU核心的策略。 | | [OH_AI_ContextGetThreadAffinityMode](#oh_ai_contextgetthreadaffinitymode) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取运行时线程绑定CPU核心的策略。 |
| [OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) (OH_AI_ContextHandle context, const int32_t \*core_list, <br/>size_t core_num) | 设置运行时线程绑定CPU核心的列表。 | | [OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 |
| [OH_AI_ContextGetThreadAffinityCoreList](#oh_ai_contextgetthreadaffinitycorelist) (const OH_AI_ContextHandle context, size_t \*core_num) | 获取CPU绑核列表。 | | [OH_AI_ContextGetThreadAffinityCoreList](#oh_ai_contextgetthreadaffinitycorelist) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context, size_t \*core_num) | 获取CPU绑核列表。 |
| [OH_AI_ContextSetEnableParallel](#oh_ai_contextsetenableparallel) (OH_AI_ContextHandle context, bool is_parallel) | 设置运行时是否支持并行。 | | [OH_AI_ContextSetEnableParallel](#oh_ai_contextsetenableparallel) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, bool is_parallel) | 设置运行时是否支持并行。 |
| [OH_AI_ContextGetEnableParallel](#oh_ai_contextgetenableparallel) (const OH_AI_ContextHandle context) | 获取是否支持算子间并行。 | | [OH_AI_ContextGetEnableParallel](#oh_ai_contextgetenableparallel) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取是否支持算子间并行。 |
| [OH_AI_ContextAddDeviceInfo](#oh_ai_contextadddeviceinfo) (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) | 添加运行设备信息。 | | [OH_AI_ContextAddDeviceInfo](#oh_ai_contextadddeviceinfo) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 添加运行设备信息。 |
| [OH_AI_DeviceInfoCreate](#oh_ai_deviceinfocreate) (OH_AI_DeviceType device_type) | 创建一个设备信息对象。 | | [OH_AI_DeviceInfoCreate](#oh_ai_deviceinfocreate) ([OH_AI_DeviceType](#oh_ai_devicetype) device_type) | 创建一个设备信息对象。 |
| [OH_AI_DeviceInfoDestroy](#oh_ai_deviceinfodestroy) (OH_AI_DeviceInfoHandle \*device_info) | 释放设备信息实例。 | | [OH_AI_DeviceInfoDestroy](#oh_ai_deviceinfodestroy) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) \*device_info) | 释放设备信息实例。 |
| [OH_AI_DeviceInfoSetProvider](#oh_ai_deviceinfosetprovider) (OH_AI_DeviceInfoHandle device_info, const char \*provider) | 设置供应商的名称。 | | [OH_AI_DeviceInfoSetProvider](#oh_ai_deviceinfosetprovider) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*provider) | 设置供应商的名称。 |
| [OH_AI_DeviceInfoGetProvider](#oh_ai_deviceinfogetprovider) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商的名称。 | | [OH_AI_DeviceInfoGetProvider](#oh_ai_deviceinfogetprovider) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商的名称。 |
| [OH_AI_DeviceInfoSetProviderDevice](#oh_ai_deviceinfosetproviderdevice) (OH_AI_DeviceInfoHandle device_info, const char \*device) | 设置生产商设备的名称。 | | [OH_AI_DeviceInfoSetProviderDevice](#oh_ai_deviceinfosetproviderdevice) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*device) | 设置生产商设备的名称。 |
| [OH_AI_DeviceInfoGetProviderDevice](#oh_ai_deviceinfogetproviderdevice) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商设备的名称。 | | [OH_AI_DeviceInfoGetProviderDevice](#oh_ai_deviceinfogetproviderdevice) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商设备的名称。 |
| [OH_AI_DeviceInfoGetDeviceType](#oh_ai_deviceinfogetdevicetype) (const OH_AI_DeviceInfoHandle device_info) | 获取设备的类型。 | | [OH_AI_DeviceInfoGetDeviceType](#oh_ai_deviceinfogetdevicetype) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取设备的类型。 |
| [OH_AI_DeviceInfoSetEnableFP16](#oh_ai_deviceinfosetenablefp16) (OH_AI_DeviceInfoHandle device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoSetEnableFP16](#oh_ai_deviceinfosetenablefp16) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoGetEnableFP16](#oh_ai_deviceinfogetenablefp16) (const OH_AI_DeviceInfoHandle device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoGetEnableFP16](#oh_ai_deviceinfogetenablefp16) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoSetFrequency](#oh_ai_deviceinfosetfrequency) (OH_AI_DeviceInfoHandle device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 | | [OH_AI_DeviceInfoSetFrequency](#oh_ai_deviceinfosetfrequency) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 |
| [OH_AI_DeviceInfoGetFrequency](#oh_ai_deviceinfogetfrequency) (const OH_AI_DeviceInfoHandle device_info) | 获取NPU的频率类型,仅NPU设备可用。 | | [OH_AI_DeviceInfoGetFrequency](#oh_ai_deviceinfogetfrequency) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NPU的频率类型,仅NPU设备可用。 |
| [OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs) (size_t \*num) | 获取系统中所有NNRT硬件设备的描述信息。 |
| [OH_AI_DestroyAllNNRTDeviceDescs](#oh_ai_destroyallnnrtdevicedescs) ([NNRTDeviceDesc](#nnrtdevicedesc) \*\*desc) | 销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。 |
| [OH_AI_GetDeviceIdFromNNRTDeviceDesc](#oh_ai_getdeviceidfromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。 |
| [OH_AI_GetNameFromNNRTDeviceDesc](#oh_ai_getnamefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备名称。 |
| [OH_AI_GetTypeFromNNRTDeviceDesc](#oh_ai_gettypefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备类型。 |
| [OH_AI_CreateNNRTDeviceInfoByName](#oh_ai_creatennrtdeviceinfobyname) (const char \*name) | 查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_CreateNNRTDeviceInfoByType](#oh_ai_creatennrtdeviceinfobytype) ([OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) type) | 查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_DeviceInfoSetDeviceId](#oh_ai_deviceinfosetdeviceid) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, size_t device_id) | 设置NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetDeviceId](#oh_ai_deviceinfogetdeviceid) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPerformanceMode](#oh_ai_deviceinfosetperformancemode) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_PerformanceMode](#oh_ai_performancemode) mode) | 设置NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPerformanceMode](#oh_ai_deviceinfogetperformancemode) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPriority](#oh_ai_deviceinfosetpriority) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_Priority](#oh_ai_priority) priority) | 设置NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPriority](#oh_ai_deviceinfogetpriority) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_ModelCreate](#oh_ai_modelcreate) () | 创建一个模型对象。 | | [OH_AI_ModelCreate](#oh_ai_modelcreate) () | 创建一个模型对象。 |
| [OH_AI_ModelDestroy](#oh_ai_modeldestroy) (OH_AI_ModelHandle \*model) | 释放一个模型对象。 | | [OH_AI_ModelDestroy](#oh_ai_modeldestroy) ([OH_AI_ModelHandle](#oh_ai_modelhandle) \*model) | 释放一个模型对象。 |
| [OH_AI_ModelBuild](#oh_ai_modelbuild) (OH_AI_ModelHandle model, const void \*model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 从内存缓冲区加载并编译MindSpore模型。 | | [OH_AI_ModelBuild](#oh_ai_modelbuild) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const void \*model_data, size_t data_size, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 从内存缓冲区加载并编译MindSpore模型。 |
| [OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile) (OH_AI_ModelHandle model, const char \*model_path, <br/>OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 通过模型文件加载并编译MindSpore模型。 | | [OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*model_path, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 通过模型文件加载并编译MindSpore模型。 |
| [OH_AI_ModelResize](#oh_ai_modelresize) (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo \*shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 | | [OH_AI_ModelResize](#oh_ai_modelresize) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) \*shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 |
| [OH_AI_ModelPredict](#oh_ai_modelpredict) (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_TensorHandleArray \*outputs, const OH_AI_KernelCallBack before, <br/>const OH_AI_KernelCallBack after) | 执行模型推理。 | | [OH_AI_ModelPredict](#oh_ai_modelpredict) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) \*outputs, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) before, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) after) | 执行模型推理。 |
| [OH_AI_ModelGetInputs](#oh_ai_modelgetinputs) (const OH_AI_ModelHandle model) | 获取模型的输入张量数组结构体。 | | [OH_AI_ModelGetInputs](#oh_ai_modelgetinputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输入张量数组结构体。 |
| [OH_AI_ModelGetOutputs](#oh_ai_modelgetoutputs) (const OH_AI_ModelHandle model) | 获取模型的输出张量数组结构体。 | | [OH_AI_ModelGetOutputs](#oh_ai_modelgetoutputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输出张量数组结构体。 |
| [OH_AI_ModelGetInputByTensorName](#oh_ai_modelgetinputbytensorname) (const OH_AI_ModelHandle model, const char \*tensor_name) | 通过张量名获取模型的输入张量。 | | [OH_AI_ModelGetInputByTensorName](#oh_ai_modelgetinputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输入张量。 |
| [OH_AI_ModelGetOutputByTensorName](#oh_ai_modelgetoutputbytensorname) (const OH_AI_ModelHandle model, const char \*tensor_name) | 通过张量名获取模型的输出张量。 | | [OH_AI_ModelGetOutputByTensorName](#oh_ai_modelgetoutputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输出张量。 |
| [OH_AI_TensorCreate](#oh_ai_tensorcreate) (const char \*name, OH_AI_DataType type, const int64_t \*shape, <br/>size_t shape_num, const void \*data, size_t data_len) | 创建一个张量对象。 | | [OH_AI_TensorCreate](#oh_ai_tensorcreate) (const char \*name, [OH_AI_DataType](#oh_ai_datatype) type, const int64_t \*shape, size_t shape_num, const void \*data, size_t data_len) | 创建一个张量对象。 |
| [OH_AI_TensorDestroy](#oh_ai_tensordestroy) (OH_AI_TensorHandle \*tensor) | 释放张量对象。 | | [OH_AI_TensorDestroy](#oh_ai_tensordestroy) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) \*tensor) | 释放张量对象。 |
| [OH_AI_TensorClone](#oh_ai_tensorclone) (OH_AI_TensorHandle tensor) | 深拷贝一个张量。 | | [OH_AI_TensorClone](#oh_ai_tensorclone) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 深拷贝一个张量。 |
| [OH_AI_TensorSetName](#oh_ai_tensorsetname) (OH_AI_TensorHandle tensor, const char \*name) | 设置张量的名称。 | | [OH_AI_TensorSetName](#oh_ai_tensorsetname) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const char \*name) | 设置张量的名称。 |
| [OH_AI_TensorGetName](#oh_ai_tensorgetname) (const OH_AI_TensorHandle tensor) | 获取张量的名称。 | | [OH_AI_TensorGetName](#oh_ai_tensorgetname) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量的名称。 |
| [OH_AI_TensorSetDataType](#oh_ai_tensorsetdatatype) (OH_AI_TensorHandle tensor, OH_AI_DataType type) | 设置张量的数据类型。 | | [OH_AI_TensorSetDataType](#oh_ai_tensorsetdatatype) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_DataType](#oh_ai_datatype) type) | 设置张量的数据类型。 |
| [OH_AI_TensorGetDataType](#oh_ai_tensorgetdatatype) (const OH_AI_TensorHandle tensor) | 获取张量类型。 | | [OH_AI_TensorGetDataType](#oh_ai_tensorgetdatatype) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量类型。 |
| [OH_AI_TensorSetShape](#oh_ai_tensorsetshape) (OH_AI_TensorHandle tensor, const int64_t \*shape, size_t shape_num) | 设置张量的形状。 | | [OH_AI_TensorSetShape](#oh_ai_tensorsetshape) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const int64_t \*shape, size_t shape_num) | 设置张量的形状。 |
| [OH_AI_TensorGetShape](#oh_ai_tensorgetshape) (const OH_AI_TensorHandle tensor, size_t \*shape_num) | 获取张量的形状。 | | [OH_AI_TensorGetShape](#oh_ai_tensorgetshape) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, size_t \*shape_num) | 获取张量的形状。 |
| [OH_AI_TensorSetFormat](#oh_ai_tensorsetformat) (OH_AI_TensorHandle tensor, OH_AI_Format format) | 设置张量数据的排列方式。 | | [OH_AI_TensorSetFormat](#oh_ai_tensorsetformat) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_Format](#oh_ai_format) format) | 设置张量数据的排列方式。 |
| [OH_AI_TensorGetFormat](#oh_ai_tensorgetformat) (const OH_AI_TensorHandle tensor) | 获取张量数据的排列方式。 | | [OH_AI_TensorGetFormat](#oh_ai_tensorgetformat) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的排列方式。 |
| [OH_AI_TensorSetData](#oh_ai_tensorsetdata) (OH_AI_TensorHandle tensor, void \*data) | 设置张量的数据。 | | [OH_AI_TensorSetData](#oh_ai_tensorsetdata) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, void \*data) | 设置张量的数据。 |
| [OH_AI_TensorGetData](#oh_ai_tensorgetdata) (const OH_AI_TensorHandle tensor) | 获取张量数据的指针。 | | [OH_AI_TensorGetData](#oh_ai_tensorgetdata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的指针。 |
| [OH_AI_TensorGetMutableData](#oh_ai_tensorgetmutabledata) (const OH_AI_TensorHandle tensor) | 获取可变的张量数据指针。如果数据为空则会开辟内存。 | | [OH_AI_TensorGetMutableData](#oh_ai_tensorgetmutabledata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取可变的张量数据指针。如果数据为空则会开辟内存。 |
| [OH_AI_TensorGetElementNum](#oh_ai_tensorgetelementnum) (const OH_AI_TensorHandle tensor) | 获取张量元素数量。 | | [OH_AI_TensorGetElementNum](#oh_ai_tensorgetelementnum) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量元素数量。 |
| [OH_AI_TensorGetDataSize](#oh_ai_tensorgetdatasize) (const OH_AI_TensorHandle tensor) | 获取张量中的数据的字节数大小。 | | [OH_AI_TensorGetDataSize](#oh_ai_tensorgetdatasize) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量中的数据的字节数大小。 |
## **宏定义说明** ## 宏定义说明
### OH_AI_MAX_SHAPE_NUM ### OH_AI_MAX_SHAPE_NUM
...@@ -141,10 +161,26 @@ ...@@ -141,10 +161,26 @@
**描述:** **描述:**
维度信息,最大的维度为**MS_MAX_SHAPE_NUM** 张量维度的最大值。
## 类型定义说明
### NNRTDeviceDesc
```
typedef struct NNRTDeviceDesc NNRTDeviceDesc
```
**描述:**
NNRT设备信息描述,包含设备ID,设备名称等信息。
**起始版本:**
## **类型定义说明** 10
### OH_AI_CallBackParam ### OH_AI_CallBackParam
...@@ -254,7 +290,55 @@ typedef enum OH_AI_ModelType OH_AI_ModelType ...@@ -254,7 +290,55 @@ typedef enum OH_AI_ModelType OH_AI_ModelType
**描述:** **描述:**
模型文件的类型 模型文件的类型。
### OH_AI_NNRTDeviceType
```
typedef enum OH_AI_NNRTDeviceType OH_AI_NNRTDeviceType
```
**描述:**
NNRT管理的硬件设备类型。
**起始版本:**
10
### OH_AI_PerformanceMode
```
typedef enum OH_AI_PerformanceMode OH_AI_PerformanceMode
```
**描述:**
NNRT硬件的工作性能模式。
**起始版本:**
10
### OH_AI_Priority
```
typedef enum OH_AI_Priority OH_AI_Priority
```
**描述:**
NNRT推理任务优先级。
**起始版本:**
10
### OH_AI_Status ### OH_AI_Status
...@@ -293,7 +377,7 @@ typedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray ...@@ -293,7 +377,7 @@ typedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray
张量数组结构体,用于存储张量数组指针和张量数组长度。 张量数组结构体,用于存储张量数组指针和张量数组长度。
## **枚举类型说明** ## 枚举类型说明
### OH_AI_CompCode ### OH_AI_CompCode
...@@ -308,7 +392,7 @@ enum OH_AI_CompCode ...@@ -308,7 +392,7 @@ enum OH_AI_CompCode
Minspore不同组件的代码。 Minspore不同组件的代码。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------- | --------------------- |
| OH_AI_COMPCODE_CORE | Minspore Core的代码。 | | OH_AI_COMPCODE_CORE | Minspore Core的代码。 |
| OH_AI_COMPCODE_LITE | Minspore Lite的代码。 | | OH_AI_COMPCODE_LITE | Minspore Lite的代码。 |
...@@ -325,7 +409,7 @@ enum OH_AI_DataType ...@@ -325,7 +409,7 @@ enum OH_AI_DataType
MSTensor保存的数据支持的类型。 MSTensor保存的数据支持的类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | --------------------------------- | ---------------------- |
| OH_AI_DATATYPE_UNKNOWN | 未知的数据类型。 | | OH_AI_DATATYPE_UNKNOWN | 未知的数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型。 |
...@@ -360,9 +444,9 @@ enum OH_AI_DeviceType ...@@ -360,9 +444,9 @@ enum OH_AI_DeviceType
设备类型信息,包含了目前支持的设备类型。 设备类型信息,包含了目前支持的设备类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | -------------------------- | --------------------------------------- |
| OH_AI_DEVICETYPE_CPU | 设备类型是CPU。 | | OH_AI_DEVICETYPE_CPU | 设备类型是CPU。 |
| OH_AI_DEVICETYPE_GPU | 设备类型是GPU。预留选项,暂不支持。 | | OH_AI_DEVICETYPE_GPU | 设备类型是GPU。预留选项, 暂不支持。 |
| OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU。预留选项,暂不支持。 | | OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU。预留选项,暂不支持。 |
| OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt。OHOS设备范围是[60,80)。 | | OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt。OHOS设备范围是[60,80)。 |
| OH_AI_DEVICETYPE_INVALID | 设备类型无效。 | | OH_AI_DEVICETYPE_INVALID | 设备类型无效。 |
...@@ -380,7 +464,7 @@ enum OH_AI_Format ...@@ -380,7 +464,7 @@ enum OH_AI_Format
MSTensor保存的数据支持的排列格式。 MSTensor保存的数据支持的排列格式。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------- | ---------------- |
| OH_AI_FORMAT_NCHW | 表示NCHW排列。 | | OH_AI_FORMAT_NCHW | 表示NCHW排列。 |
| OH_AI_FORMAT_NHWC | 表示NHWC排列。 | | OH_AI_FORMAT_NHWC | 表示NHWC排列。 |
| OH_AI_FORMAT_NHWC4 | 表示NHWC4排列。 | | OH_AI_FORMAT_NHWC4 | 表示NHWC4排列。 |
...@@ -412,11 +496,81 @@ enum OH_AI_ModelType ...@@ -412,11 +496,81 @@ enum OH_AI_ModelType
模型文件的类型。 模型文件的类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ----------------------- | ------------------ |
| OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR。 | | OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR。 |
| OH_AI_MODELTYPE_INVALID | 模型类型无效。 | | OH_AI_MODELTYPE_INVALID | 模型类型无效。 |
### OH_AI_NNRTDeviceType
```
enum OH_AI_NNRTDeviceType
```
**描述:**
NNRT管理的硬件设备类型。
**起始版本**:
10
| 枚举值 | 描述 |
| ---------------------------- | ----------------------------------- |
| OH_AI_NNRTDEVICE_OTHERS | 设备类型不属于以下3种,则属于其它。 |
| OH_AI_NNRTDEVICE_CPU | CPU设备。 |
| OH_AI_NNRTDEVICE_GPU | GPU设备。 |
| OH_AI_NNRTDEVICE_ACCELERATOR | 特定的加速设备。 |
### OH_AI_PerformanceMode
```
enum OH_AI_PerformanceMode
```
**描述:**
NNRT硬件的工作性能模式。
**起始版本**:
10
| 枚举值 | 描述 |
| ------------------------- | ------------------- |
| OH_AI_PERFORMANCE_NONE | 无特殊设置。 |
| OH_AI_PERFORMANCE_LOW | 低功耗模式。 |
| OH_AI_PERFORMANCE_MEDIUM | 功耗-性能均衡模式。 |
| OH_AI_PERFORMANCE_HIGH | 高性能模式。 |
| OH_AI_PERFORMANCE_EXTREME | 极致性能模式。 |
### OH_AI_Priority
```
enum OH_AI_Priority
```
**描述:**
NNRT推理任务优先级。
**起始版本**:
10
| 枚举值 | 描述 |
| --------------------- | -------------- |
| OH_AI_PRIORITY_NONE | 无优先级偏好。 |
| OH_AI_PRIORITY_LOW | 低优先级任务。 |
| OH_AI_PRIORITY_MEDIUM | 中优先级任务。 |
| OH_AI_PRIORITY_HIGH | 高优先级。 |
### OH_AI_Status ### OH_AI_Status
...@@ -429,7 +583,7 @@ enum OH_AI_Status ...@@ -429,7 +583,7 @@ enum OH_AI_Status
Minspore的状态码。 Minspore的状态码。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------------------------- | ----------------------------------------- |
| OH_AI_STATUS_SUCCESS | 通用的成功状态码。 | | OH_AI_STATUS_SUCCESS | 通用的成功状态码。 |
| OH_AI_STATUS_CORE_FAILED | Mindspore Core 失败状态码。 | | OH_AI_STATUS_CORE_FAILED | Mindspore Core 失败状态码。 |
| OH_AI_STATUS_LITE_ERROR | Mindspore Lite 异常状态码。 | | OH_AI_STATUS_LITE_ERROR | Mindspore Lite 异常状态码。 |
...@@ -454,8 +608,7 @@ Minspore的状态码。 ...@@ -454,8 +608,7 @@ Minspore的状态码。
| OH_AI_STATUS_LITE_INFER_INVALID | Mindspore Lite 无效的形状推理的状态码。 | | OH_AI_STATUS_LITE_INFER_INVALID | Mindspore Lite 无效的形状推理的状态码。 |
| OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | Mindspore Lite 用户输入的参数无效状态码。 | | OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | Mindspore Lite 用户输入的参数无效状态码。 |
## 函数说明
## **函数说明**
### OH_AI_ContextAddDeviceInfo() ### OH_AI_ContextAddDeviceInfo()
...@@ -472,7 +625,7 @@ OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_De ...@@ -472,7 +625,7 @@ OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_De
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
...@@ -507,7 +660,7 @@ OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context) ...@@ -507,7 +660,7 @@ OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向[OH_AI_ContextHandle](#oh_ai_contexthandle)的二级指针,上下文销毁后会对context置为空指针。 | | context | 指向[OH_AI_ContextHandle](#oh_ai_contexthandle)的二级指针,上下文销毁后会对context置为空指针。 |
...@@ -525,7 +678,7 @@ OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context ...@@ -525,7 +678,7 @@ OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -547,7 +700,7 @@ OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_Con ...@@ -547,7 +700,7 @@ OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_Con
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| core_num | 该参数是输出参数,表示核的数量。 | | core_num | 该参数是输出参数,表示核的数量。 |
...@@ -570,12 +723,12 @@ OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle cont ...@@ -570,12 +723,12 @@ OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle cont
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为核优先。 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为核优先。
### OH_AI_ContextGetThreadNum() ### OH_AI_ContextGetThreadNum()
...@@ -592,7 +745,7 @@ OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context) ...@@ -592,7 +745,7 @@ OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -614,7 +767,7 @@ OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool ...@@ -614,7 +767,7 @@ OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 | | is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 |
...@@ -635,7 +788,7 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle conte ...@@ -635,7 +788,7 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle conte
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| core_list | CPU绑核的列表。 | | core_list | CPU绑核的列表。 |
| core_num | 核的数量,它就代表**core_list**的长度。 | | core_num | 核的数量,它就代表**core_list**的长度。 |
...@@ -655,7 +808,7 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, ...@@ -655,7 +808,7 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 | | mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 |
...@@ -674,11 +827,85 @@ OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t t ...@@ -674,11 +827,85 @@ OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t t
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ---------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle) | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle) |
| thread_num | 运行时的线程数量。 | | thread_num | 运行时的线程数量。 |
### OH_AI_CreateNNRTDeviceInfoByName()
```
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByName (const char * name)
```
**描述:**
查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
**参数:**
| 名称 | 描述 |
| ---- | ---------------- |
| name | 目标NNRT设备名。 |
**返回:**
指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)
**起始版本:**
10
### OH_AI_CreateNNRTDeviceInfoByType()
```
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByType (OH_AI_NNRTDeviceType type)
```
**描述:**
查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------------------------------------------ |
| type | [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) 目标NNRT设备类型。 |
**返回:**
指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)
**起始版本:**
10
### OH_AI_DestroyAllNNRTDeviceDescs()
```
OH_AI_API void OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc ** desc)
```
**描述:**
销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------------------------------------------ |
| desc | 指向NNRT设备描述信息实例数组的二重指针。销毁结束,desc指向内容会被置为NULL。 |
**起始版本:**
10
### OH_AI_DeviceInfoCreate() ### OH_AI_DeviceInfoCreate()
...@@ -693,8 +920,8 @@ OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device ...@@ -693,8 +920,8 @@ OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------- |
| device_type | 设备类型, 具体见[OH_AI_DeviceType](#oh_ai_devicetype-1)。 | | device_type | 设备类型, 具体见[OH_AI_DeviceType](#oh_ai_devicetype)。 |
**返回:** **返回:**
...@@ -715,10 +942,36 @@ OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info) ...@@ -715,10 +942,36 @@ OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
### OH_AI_DeviceInfoGetDeviceId()
```
OH_AI_API size_t OH_AI_DeviceInfoGetDeviceId (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT设备ID,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
NNRT设备ID。
**起始版本:**
10
### OH_AI_DeviceInfoGetDeviceType() ### OH_AI_DeviceInfoGetDeviceType()
...@@ -733,7 +986,7 @@ OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfo ...@@ -733,7 +986,7 @@ OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfo
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -755,7 +1008,7 @@ OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle devic ...@@ -755,7 +1008,7 @@ OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle devic
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -777,7 +1030,7 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_ ...@@ -777,7 +1030,7 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -785,6 +1038,58 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_ ...@@ -785,6 +1038,58 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_
NPU的频率类型。取值范围为0-4,1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 NPU的频率类型。取值范围为0-4,1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。
### OH_AI_DeviceInfoGetPerformanceMode()
```
OH_AI_API OH_AI_PerformanceMode OH_AI_DeviceInfoGetPerformanceMode (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT性能模式,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
[OH_AI_PerformanceMode](#oh_ai_performancemode) NNRT性能模式。
**起始版本:**
10
### OH_AI_DeviceInfoGetPriority()
```
OH_AI_API OH_AI_Priority OH_AI_DeviceInfoGetPriority (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT任务优先级,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
[OH_AI_Priority](#oh_ai_priority) NNRT任务优先级。
**起始版本:**
10
### OH_AI_DeviceInfoGetProvider() ### OH_AI_DeviceInfoGetProvider()
...@@ -799,7 +1104,7 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle ...@@ -799,7 +1104,7 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -821,7 +1126,7 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH ...@@ -821,7 +1126,7 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -829,6 +1134,29 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH ...@@ -829,6 +1134,29 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH
生产商设备的名称。 生产商设备的名称。
### OH_AI_DeviceInfoSetDeviceId()
```
OH_AI_API void OH_AI_DeviceInfoSetDeviceId (OH_AI_DeviceInfoHandle device_info, size_t device_id )
```
**描述:**
设置NNRT设备ID,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| device_id | NNRT设备ID。 |
**起始版本:**
10
### OH_AI_DeviceInfoSetEnableFP16() ### OH_AI_DeviceInfoSetEnableFP16()
...@@ -843,7 +1171,7 @@ OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info ...@@ -843,7 +1171,7 @@ OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| is_fp16 | 是否开启float16推理模式。 | | is_fp16 | 是否开启float16推理模式。 |
...@@ -862,11 +1190,57 @@ OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, ...@@ -862,11 +1190,57 @@ OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| frequency | 频率类型,取值范围为0-4,默认是3。1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 | | frequency | 频率类型,取值范围为0-4,默认是3。1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 |
### OH_AI_DeviceInfoSetPerformanceMode()
```
OH_AI_API void OH_AI_DeviceInfoSetPerformanceMode (OH_AI_DeviceInfoHandle device_info, OH_AI_PerformanceMode mode )
```
**描述:**
设置NNRT性能模式,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| mode | [OH_AI_PerformanceMode](#oh_ai_performancemode) NNRT性能模式。 |
**起始版本**
10
### OH_AI_DeviceInfoSetPriority()
```
OH_AI_API void OH_AI_DeviceInfoSetPriority (OH_AI_DeviceInfoHandle device_info, OH_AI_Priority priority )
```
**描述:**
设置NNRT任务优先级,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| priority | [OH_AI_Priority](#oh_ai_priority) NNRT任务优先级。 |
**起始版本:**
10
### OH_AI_DeviceInfoSetProvider() ### OH_AI_DeviceInfoSetProvider()
...@@ -881,7 +1255,7 @@ OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, ...@@ -881,7 +1255,7 @@ OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| provider | 供应商的名称。 | | provider | 供应商的名称。 |
...@@ -900,9 +1274,113 @@ OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_ ...@@ -900,9 +1274,113 @@ OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| device | 生产商设备名称。 例如: CPU。 | | device | 生产商设备名称。例如: CPU。 |
### OH_AI_GetAllNNRTDeviceDescs()
```
OH_AI_API NNRTDeviceDesc* OH_AI_GetAllNNRTDeviceDescs (size_t * num)
```
**描述:**
获取系统中所有NNRT硬件设备的描述信息。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------ |
| num | 输出参数,返回设备数量。 |
**返回:**
指向NNRT设备描述信息实例数组的指针。当获取失败时,返回NULL。
**起始版本:**
10
### OH_AI_GetDeviceIdFromNNRTDeviceDesc()
```
OH_AI_API size_t OH_AI_GetDeviceIdFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
NNRT设备ID。
**起始版本:**
10
### OH_AI_GetNameFromNNRTDeviceDesc()
```
OH_AI_API const char* OH_AI_GetNameFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备名称。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
NNRT设备名称,指向一个常量字符串的指针,该常量字符串由desc持有,调用者无需单独释放此指针。
**起始版本:**
10
### OH_AI_GetTypeFromNNRTDeviceDesc()
```
OH_AI_API OH_AI_NNRTDeviceType OH_AI_GetTypeFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备类型。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
[OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) NNRT设备类型。
**起始版本:**
10
### OH_AI_ModelBuild() ### OH_AI_ModelBuild()
...@@ -915,16 +1393,17 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuild (OH_AI_ModelHandle model, const void * m ...@@ -915,16 +1393,17 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuild (OH_AI_ModelHandle model, const void * m
**描述:** **描述:**
从内存缓冲区加载并编译MindSpore模型。 从内存缓冲区加载并编译MindSpore模型。
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)或者[OH_AI_ModelBuild](#oh_ai_modelbuild)一次,如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| model_data | 内存中已经加载的模型数据地址。 | | model_data | 内存中已经加载的模型数据地址。 |
| data_size | 模型数据的长度。 | | data_size | 模型数据的长度。 |
| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype-1) | | model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype) |
| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -942,15 +1421,16 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const ...@@ -942,15 +1421,16 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const
**描述:** **描述:**
通过模型文件加载并编译MindSpore模型。 通过模型文件加载并编译MindSpore模型。
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)或者[OH_AI_ModelBuild](#oh_ai_modelbuild)一次,如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| model_path | 模型文件路径。 | | model_path | 模型文件路径。 |
| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype-1) | | model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype) |
| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -988,7 +1468,7 @@ OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model) ...@@ -988,7 +1468,7 @@ OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
...@@ -1006,7 +1486,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelH ...@@ -1006,7 +1486,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelH
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| tensor_name | 张量名称。 | | tensor_name | 张量名称。 |
...@@ -1029,7 +1509,7 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle ...@@ -1029,7 +1509,7 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
**返回:** **返回:**
...@@ -1051,9 +1531,9 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_Model ...@@ -1051,9 +1531,9 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_Model
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| tensor_名称 | 张量名称。 | | tensor_name | 张量名称。 |
**返回:** **返回:**
...@@ -1074,7 +1554,7 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle ...@@ -1074,7 +1554,7 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
**返回:** **返回:**
...@@ -1096,7 +1576,7 @@ OH_AI_API OH_AI_Status OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_ ...@@ -1096,7 +1576,7 @@ OH_AI_API OH_AI_Status OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| inputs | 模型输入对应的张量数组结构体。 | | inputs | 模型输入对应的张量数组结构体。 |
| outputs | 模型输出对应的张量数组结构体的指针。 | | outputs | 模型输出对应的张量数组结构体的指针。 |
...@@ -1122,7 +1602,7 @@ OH_AI_API OH_AI_Status OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_T ...@@ -1122,7 +1602,7 @@ OH_AI_API OH_AI_Status OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_T
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| inputs | 模型输入对应的张量数组结构体。 | | inputs | 模型输入对应的张量数组结构体。 |
| shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 | | shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 |
...@@ -1147,7 +1627,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor) ...@@ -1147,7 +1627,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------ |
| tensor | 待拷贝张量的指针。 | | tensor | 待拷贝张量的指针。 |
**返回:** **返回:**
...@@ -1159,7 +1639,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor) ...@@ -1159,7 +1639,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
``` ```
OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataType type, const int64_t * shape, size_t shape_num, const void * data, size_t data_len ) OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char * name, OH_AI_DataType type, const int64_t * shape, size_t shape_num, const void * data, size_t data_len )
``` ```
**描述:** **描述:**
...@@ -1169,8 +1649,8 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataTyp ...@@ -1169,8 +1649,8 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataTyp
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------ |
| 名称 | 张量名称 | | name | 张量名称 |
| type | 张量的数据类型 | | type | 张量的数据类型 |
| shape | 张量的维度数组。 | | shape | 张量的维度数组。 |
| shape_num | 张量维度数组长度。 | | shape_num | 张量维度数组长度。 |
...@@ -1196,7 +1676,7 @@ OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor) ...@@ -1196,7 +1676,7 @@ OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------------ |
| tensor | 指向张量句柄的二级指针。 | | tensor | 指向张量句柄的二级指针。 |
...@@ -1214,7 +1694,7 @@ OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor) ...@@ -1214,7 +1694,7 @@ OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1236,7 +1716,7 @@ OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor) ...@@ -1236,7 +1716,7 @@ OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1258,7 +1738,7 @@ OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tenso ...@@ -1258,7 +1738,7 @@ OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tenso
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1280,7 +1760,7 @@ OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor) ...@@ -1280,7 +1760,7 @@ OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1302,7 +1782,7 @@ OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor) ...@@ -1302,7 +1782,7 @@ OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1324,7 +1804,7 @@ OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor) ...@@ -1324,7 +1804,7 @@ OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1346,7 +1826,7 @@ OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor) ...@@ -1346,7 +1826,7 @@ OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1368,7 +1848,7 @@ OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, ...@@ -1368,7 +1848,7 @@ OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ---------------------------------------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 | | shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 |
...@@ -1391,7 +1871,7 @@ OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data ) ...@@ -1391,7 +1871,7 @@ OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data )
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ---------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| data | 指向数据的指针。 | | data | 指向数据的指针。 |
...@@ -1410,9 +1890,9 @@ OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataTyp ...@@ -1410,9 +1890,9 @@ OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataTyp
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | --------------------------------------------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| type | 数据类型,具体见[OH_AI_DataType](#oh_ai_datatype-1)。 | | type | 数据类型,具体见[OH_AI_DataType](#oh_ai_datatype)。 |
### OH_AI_TensorSetFormat() ### OH_AI_TensorSetFormat()
...@@ -1429,7 +1909,7 @@ OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format fo ...@@ -1429,7 +1909,7 @@ OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format fo
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------ |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| format | 张量数据排列方式。 | | format | 张量数据排列方式。 |
...@@ -1448,9 +1928,9 @@ OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name ...@@ -1448,9 +1928,9 @@ OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| 名称 | 张量名称。 | | name | 张量名称。 |
### OH_AI_TensorSetShape() ### OH_AI_TensorSetShape()
...@@ -1467,7 +1947,7 @@ OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t * ...@@ -1467,7 +1947,7 @@ OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t *
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------ |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| shape | 形状数组。 | | shape | 形状数组。 |
| shape_num | 张量形状数组长度。 | | shape_num | 张量形状数组长度。 |
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 | | [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 |
| [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 | | [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 |
...@@ -27,27 +27,40 @@ ...@@ -27,27 +27,40 @@
### 函数 ### 函数
| 函数名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ContextCreate](_mind_spore.md#oh_ai_contextcreate) () | 创建一个上下文的对象。 | | [OH_AI_ContextCreate](_mind_spore.md#oh_ai_contextcreate) () | 创建一个上下文的对象。 |
| [OH_AI_ContextDestroy](_mind_spore.md#oh_ai_contextdestroy) (OH_AI_ContextHandle \*context) | 释放上下文对象。 | | [OH_AI_ContextDestroy](_mind_spore.md#oh_ai_contextdestroy) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) \*context) | 释放上下文对象。 |
| [OH_AI_ContextSetThreadNum](_mind_spore.md#oh_ai_contextsetthreadnum) (OH_AI_ContextHandle context, int32_t thread_num) | 设置运行时的线程数量。 | | [OH_AI_ContextSetThreadNum](_mind_spore.md#oh_ai_contextsetthreadnum) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, int32_t thread_num) | 设置运行时的线程数量。 |
| [OH_AI_ContextGetThreadNum](_mind_spore.md#oh_ai_contextgetthreadnum) (const OH_AI_ContextHandle context) | 获取线程数量。 | | [OH_AI_ContextGetThreadNum](_mind_spore.md#oh_ai_contextgetthreadnum) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取线程数量。 |
| [OH_AI_ContextSetThreadAffinityMode](_mind_spore.md#oh_ai_contextsetthreadaffinitymode) (OH_AI_ContextHandle context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 | | [OH_AI_ContextSetThreadAffinityMode](_mind_spore.md#oh_ai_contextsetthreadaffinitymode) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 |
| [OH_AI_ContextGetThreadAffinityMode](_mind_spore.md#oh_ai_contextgetthreadaffinitymode) (const OH_AI_ContextHandle context) | 获取运行时线程绑定CPU核心的策略。 | | [OH_AI_ContextGetThreadAffinityMode](_mind_spore.md#oh_ai_contextgetthreadaffinitymode) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取运行时线程绑定CPU核心的策略。 |
| [OH_AI_ContextSetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextsetthreadaffinitycorelist) (OH_AI_ContextHandle context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 | | [OH_AI_ContextSetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextsetthreadaffinitycorelist) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 |
| [OH_AI_ContextGetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextgetthreadaffinitycorelist) (const OH_AI_ContextHandle context, size_t \*core_num) | 获取CPU绑核列表。 | | [OH_AI_ContextGetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextgetthreadaffinitycorelist) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, size_t \*core_num) | 获取CPU绑核列表。 |
| [OH_AI_ContextSetEnableParallel](_mind_spore.md#oh_ai_contextsetenableparallel) (OH_AI_ContextHandle context, bool is_parallel) | 设置运行时是否支持并行。 | | [OH_AI_ContextSetEnableParallel](_mind_spore.md#oh_ai_contextsetenableparallel) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, bool is_parallel) | 设置运行时是否支持并行。 |
| [OH_AI_ContextGetEnableParallel](_mind_spore.md#oh_ai_contextgetenableparallel) (const OH_AI_ContextHandle context) | 获取是否支持算子间并行。 | | [OH_AI_ContextGetEnableParallel](_mind_spore.md#oh_ai_contextgetenableparallel) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取是否支持算子间并行。 |
| [OH_AI_ContextAddDeviceInfo](_mind_spore.md#oh_ai_contextadddeviceinfo) (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) | 添加运行设备信息。 | | [OH_AI_ContextAddDeviceInfo](_mind_spore.md#oh_ai_contextadddeviceinfo) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 添加运行设备信息。 |
| [OH_AI_DeviceInfoCreate](_mind_spore.md#oh_ai_deviceinfocreate) (OH_AI_DeviceType device_type) | 创建一个设备信息对象。 | | [OH_AI_DeviceInfoCreate](_mind_spore.md#oh_ai_deviceinfocreate) ([OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype) device_type) | 创建一个设备信息对象。 |
| [OH_AI_DeviceInfoDestroy](_mind_spore.md#oh_ai_deviceinfodestroy) (OH_AI_DeviceInfoHandle \*device_info) | 释放设备信息实例。 | | [OH_AI_DeviceInfoDestroy](_mind_spore.md#oh_ai_deviceinfodestroy) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) \*device_info) | 释放设备信息实例。 |
| [OH_AI_DeviceInfoSetProvider](_mind_spore.md#oh_ai_deviceinfosetprovider) (OH_AI_DeviceInfoHandle device_info, const char \*provider) | 设置供应商的名称。 | | [OH_AI_DeviceInfoSetProvider](_mind_spore.md#oh_ai_deviceinfosetprovider) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, const char \*provider) | 设置供应商的名称。 |
| [OH_AI_DeviceInfoGetProvider](_mind_spore.md#oh_ai_deviceinfogetprovider) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商的名称。 | | [OH_AI_DeviceInfoGetProvider](_mind_spore.md#oh_ai_deviceinfogetprovider) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取生产商的名称。 |
| [OH_AI_DeviceInfoSetProviderDevice](_mind_spore.md#oh_ai_deviceinfosetproviderdevice) (OH_AI_DeviceInfoHandle device_info, const char \*device) | 设置生产商设备的名称。 | | [OH_AI_DeviceInfoSetProviderDevice](_mind_spore.md#oh_ai_deviceinfosetproviderdevice) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, const char \*device) | 设置生产商设备的名称。 |
| [OH_AI_DeviceInfoGetProviderDevice](_mind_spore.md#oh_ai_deviceinfogetproviderdevice) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商设备的名称。 | | [OH_AI_DeviceInfoGetProviderDevice](_mind_spore.md#oh_ai_deviceinfogetproviderdevice) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取生产商设备的名称。 |
| [OH_AI_DeviceInfoGetDeviceType](_mind_spore.md#oh_ai_deviceinfogetdevicetype) (const OH_AI_DeviceInfoHandle device_info) | 获取设备的类型。 | | [OH_AI_DeviceInfoGetDeviceType](_mind_spore.md#oh_ai_deviceinfogetdevicetype) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取设备的类型。 |
| [OH_AI_DeviceInfoSetEnableFP16](_mind_spore.md#oh_ai_deviceinfosetenablefp16) (OH_AI_DeviceInfoHandle device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoSetEnableFP16](_mind_spore.md#oh_ai_deviceinfosetenablefp16) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoGetEnableFP16](_mind_spore.md#oh_ai_deviceinfogetenablefp16) (const OH_AI_DeviceInfoHandle device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoGetEnableFP16](_mind_spore.md#oh_ai_deviceinfogetenablefp16) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoSetFrequency](_mind_spore.md#oh_ai_deviceinfosetfrequency) (OH_AI_DeviceInfoHandle device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 | | [OH_AI_DeviceInfoSetFrequency](_mind_spore.md#oh_ai_deviceinfosetfrequency) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 |
| [OH_AI_DeviceInfoGetFrequency](_mind_spore.md#oh_ai_deviceinfogetfrequency) (const OH_AI_DeviceInfoHandle device_info) | 获取NPU的频率类型,仅NPU设备可用。 | | [OH_AI_DeviceInfoGetFrequency](_mind_spore.md#oh_ai_deviceinfogetfrequency) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NPU的频率类型,仅NPU设备可用。 |
| [OH_AI_GetAllNNRTDeviceDescs](_mind_spore.md#oh_ai_getallnnrtdevicedescs) (size_t \*num) | 获取系统中所有NNRT硬件设备的描述信息。 |
| [OH_AI_DestroyAllNNRTDeviceDescs](_mind_spore.md#oh_ai_destroyallnnrtdevicedescs) ([NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*\*desc) | 销毁从[OH_AI_GetAllNNRTDeviceDescs](_mind_spore.md#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。 |
| [OH_AI_GetDeviceIdFromNNRTDeviceDesc](_mind_spore.md#oh_ai_getdeviceidfromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。 |
| [OH_AI_GetNameFromNNRTDeviceDesc](_mind_spore.md#oh_ai_getnamefromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备名称。 |
| [OH_AI_GetTypeFromNNRTDeviceDesc](_mind_spore.md#oh_ai_gettypefromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备类型。 |
| [OH_AI_CreateNNRTDeviceInfoByName](_mind_spore.md#oh_ai_creatennrtdeviceinfobyname) (const char \*name) | 查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_CreateNNRTDeviceInfoByType](_mind_spore.md#oh_ai_creatennrtdeviceinfobytype) ([OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) type) | 查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_DeviceInfoSetDeviceId](_mind_spore.md#oh_ai_deviceinfosetdeviceid) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, size_t device_id) | 设置NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetDeviceId](_mind_spore.md#oh_ai_deviceinfogetdeviceid) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPerformanceMode](_mind_spore.md#oh_ai_deviceinfosetperformancemode) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) mode) | 设置NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPerformanceMode](_mind_spore.md#oh_ai_deviceinfogetperformancemode) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPriority](_mind_spore.md#oh_ai_deviceinfosetpriority) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, [OH_AI_Priority](_mind_spore.md#oh_ai_priority) priority) | 设置NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPriority](_mind_spore.md#oh_ai_deviceinfogetpriority) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT任务优先级,仅NNRT设备可用。 |
...@@ -19,15 +19,22 @@ ...@@ -19,15 +19,22 @@
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) | 模型文件的类型。 | | [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype) | 模型文件的类型。 |
| [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype) | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](_mind_spore.md#oh_ai_priority) | NNRT推理任务优先级。 |
| [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) | NNRT设备信息描述,包含设备ID,设备名称等信息。 |
### 枚举 ### 枚举
| 枚举名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 | | [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 |
| [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) { <br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_KIRIN_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60, <br/>OH_AI_DEVICETYPE_INVALID = 100 } | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100<br/>} | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) { <br/>OH_AI_NNRTDEVICE_OTHERS = 0,<br/> OH_AI_NNRTDEVICE_CPU = 1, <br/>OH_AI_NNRTDEVICE_GPU = 2, <br/>OH_AI_NNRTDEVICE_ACCELERATOR = 3 } | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) {<br/>OH_AI_PERFORMANCE_NONE = 0, <br/>OH_AI_PERFORMANCE_LOW = 1, <br/>OH_AI_PERFORMANCE_MEDIUM = 2, <br/>OH_AI_PERFORMANCE_HIGH = 3,<br/>OH_AI_PERFORMANCE_EXTREME = 4<br/>} | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](_mind_spore.md#oh_ai_priority) { <br/>OH_AI_PRIORITY_NONE = 0, <br/>OH_AI_PRIORITY_LOW = 1, <br/>OH_AI_PRIORITY_MEDIUM = 2,<br/> OH_AI_PRIORITY_HIGH = 3 } | NNRT推理任务优先级。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册