aclrtUtilizationInfo
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;
父主题: 数据类型及其操作接口
aclrtMemHandleType
typedef enum aclrtMemHandleType {
ACL_MEM_HANDLE_TYPE_NONE = 0,
} aclrtMemHandleType;
父主题: 数据类型及其操作接口
在线提单