aclrtStreamConfigAttr
aclrtFloatOverflowMode
typedef enum aclrtFloatOverflowMode {
ACL_RT_OVERFLOW_MODE_SATURATION = 0, // 饱和模式,默认值
ACL_RT_OVERFLOW_MODE_INFNAN, // Inf/NaN模式(符合IEEE 754标准)
ACL_RT_OVERFLOW_MODE_UNDEF,
} aclrtFloatOverflowMode;
父主题: 数据类型及其操作接口
acldvppJpegdPrecisionMode
enum acldvppJpegdPrecisionMode {
ACL_YUVOUT_ALIGN_DOWN = 0,
ACL_YUVOUT_ALIGN_UP = 1,
ACL_YUVOUT_ALIGN_DOWN_COMPAT = 2
};
对齐模式取值的含义如下:
-
ACL_YUVOUT_ALIGN_DOWN:
- 解码后的输出图片格式为YUV420SP时,若源图的宽、高为奇数时,将输出图片的宽、高向下2对齐
- 解码后的输出图片格式为YUV422SP时,若源图的宽为奇数时,将输出图片的宽向下2对齐
- 解码后的输出图片格式为YUV440SP时,若源图的高为奇数时,将输出图片高向下2对齐
-
ACL_YUVOUT_ALIGN_UP:
- 解码后的输出图片格式为YUV420SP时,若源图的宽、高为奇数时,将输出图片的宽、高向上2对齐
- 解码后的输出图片格式为YUV422SP时,若源图的宽为奇数时,将输出图片的宽向上2对齐
- 解码后的输出图片格式为YUV440SP时,若源图的高为奇数时,将输出图片高向上2对齐
-
ACL_YUVOUT_ALIGN_DOWN_COMPAT:默认值
兼容旧版本,解码后的输出图片格式为YUV420SP/YUV422SP/YUV440SP时,若源图的宽、高为奇数时,将输出图片的宽、高向下2对齐。
父主题: 数据类型及其操作接口
aclmdlExecConfigAttr
typedef enum {
ACL_MDL_STREAM_SYNC_TIMEOUT = 0,
ACL_MDL_EVENT_SYNC_TIMEOUT,
ACL_MDL_WORK_ADDR_PTR,
ACL_MDL_WORK_SIZET,
ACL_MDL_MPAIMID_SIZET, /** param reserved */
ACL_MDL_AICQOS_SIZET, /** param reserved */
ACL_MDL_AICOST_SIZET, /** param reserved */
ACL_MDL_MEC_TIMETHR_SIZET /** param reserved */
} aclmdlExecConfigAttr;
表1 枚举项说明
| 枚举项 | 说明 |
|---|---|
| ACL_MDL_STREAM_SYNC_TIMEOUT | 在执行模型推理时控制Stream任务的超时时间。该属性值为INT32类型。 |
| ACL_MDL_EVENT_SYNC_TIMEOUT | 在执行模型推理时控制Event任务的超时时间。该属性值为INT32类型。 |
| ACL_MDL_WORK_ADDR_PTR | 模型所需工作内存(Device上存放模型执行过程中的临时数据)的指针,由用户管理工作内存。一般用于模型一次加载、多并发执行的场景。 如果同时配置ACL_MDL_WORK_ADDR_PTR以及aclrtStreamConfigAttr中的ACL_RT_STREAM_WORK_ADDR_PTR(表示Stream上模型的工作内存),则以ACL_MDL_WORK_ADDR_PTR优先。 当前版本不支持该配置。 |
| ACL_MDL_WORK_SIZET | 模型所需工作内存的大小,单位为Byte。一般用于模型一次加载、多并发执行的场景。 当前版本不支持该配置。 |
| ACL_MDL_MPAIMID_SIZET | 预留配置。 |
| ACL_MDL_AICQOS_SIZET | 预留配置。 |
| ACL_MDL_AICOST_SIZET | 预留配置。 |
| ACL_MDL_MEC_TIMETHR_SIZET | 预留配置。 |
父主题: 数据类型及其操作接口
aclrtStreamConfigAttr
typedef enum {
ACL_RT_STREAM_WORK_ADDR_PTR = 0,
ACL_RT_STREAM_WORK_SIZE,
ACL_RT_STREAM_FLAG,
ACL_RT_STREAM_PRIORITY,
} aclrtStreamConfigAttr;
表1 枚举项说明
| 枚举项 | 说明 |
|---|---|
| ACL_RT_STREAM_WORK_ADDR_PTR | 某一个Stream上的模型所需工作内存(Device上存放模型执行过程中的临时数据)的指针,由用户管理工作内存。该配置主要用于多模型在同一个Stream上串行执行时想共享工作内存的场景,此时需按多个模型中最大的工作内存来申请内存,可提前使用aclmdlQuerySize查询各模型所需的工作内存大小。 如果同时配置ACL_RT_STREAM_WORK_ADDR_PTR以及aclmdlExecConfigAttr中的ACL_MDL_WORK_ADDR_PTR(表示某个模型的工作内存),则以aclmdlExecConfigAttr中的ACL_MDL_WORK_ADDR_PTR优先。 |
| ACL_RT_STREAM_WORK_SIZE | 模型所需工作内存的大小,单位为Byte。 |
| ACL_RT_STREAM_FLAG | 预留配置,默认值为0。 |
| ACL_RT_STREAM_PRIORITY | Stream的优先级,数字越小优先级越高,取值[0,7]。默认值为0。 |
父主题: 数据类型及其操作接口
aclSysParamOpt
typedef enum {
ACL_OPT_DETERMINISTIC = 0,
} aclSysParamOpt;
表1 枚举项说明
| 枚举项 | 说明 |
|---|---|
| ACL_OPT_DETERMINISTIC | 是否开启确定性计算。 - 0:默认值,不开启确定性计算。 - 1:开启确定性计算。 当开启确定性计算功能时,算子在相同的硬件和输入下,多次执行将产生相同的输出。但启用确定性计算往往导致算子执行变慢。 默认情况下,不开启确定性计算,算子在相同的硬件和输入下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。 通常建议不开启确定性计算,因为确定性计算往往会导致算子执行变慢,进而影响性能。当发现模型多次执行结果不同,或者是进行精度调优时,可开启确定性计算,辅助模型调试、调优。 |
父主题: 数据类型及其操作接口
aclrtUtilizationInfo
typedef struct aclrtUtilizationInfo {
int32_t cubeUtilization; // Cube利用率
int32_t vectorUtilization; // Vector利用率
int32_t aicpuUtilization; // AI CPU利用率
int32_t memoryUtilization; // Device内存利用率
aclrtUtilizationExtendInfo *utilizationExtend; // 预留参数,当前设置为null
} aclrtUtilizationInfo;
父主题: 数据类型及其操作接口
aclrtStreamStatus
typedef enum aclrtStreamStatus {
ACL_STREAM_STATUS_COMPLETE = 0, // Stream上的所有任务已完成
ACL_STREAM_STATUS_NOT_READY = 1, // Stream上至少有一个任务未完成
ACL_STREAM_STATUS_RESERVED = 0xFFFF, // 预留
} aclrtStreamStatus;
父主题: 数据类型及其操作接口
在线提单