Skip to main content

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_PRIORITYStream的优先级,数字越小优先级越高,取值[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;

父主题: 数据类型及其操作接口

在线提单