aclSysParamOpt
typedef enum { ACL_OPT_DETERMINISTIC = 0, ACL_OPT_ENABLE_DEBUG_KERNEL = 1 } aclSysParamOpt;
枚举项 |
说明 |
---|---|
ACL_OPT_DETERMINISTIC |
是否开启确定性计算。
当开启确定性计算功能时,算子在相同的硬件和输入下,多次执行将产生相同的输出。但启用确定性计算往往导致算子执行变慢。 默认情况下,不开启确定性计算,算子在相同的硬件和输入下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。 通常建议不开启确定性计算,因为确定性计算往往会导致算子执行变慢,进而影响性能。当发现模型多次执行结果不同,或者是进行精度调优时,可开启确定性计算,辅助模型调试、调优。 |
ACL_OPT_ENABLE_DEBUG_KERNEL |
是否开启算子执行阶段的Global Memory访问越界检测。
编译算子前调用aclSetCompileopt接口将ACL_OP_DEBUG_OPTION配置为oom,同时配合调用aclrtCtxSetSysParamOpt接口(作用域是Context)或aclrtSetSysParamOpt接口(作用域是进程)将ACL_OPT_ENABLE_DEBUG_KERNEL配置为1,开启Global Memory访问越界检测,这时执行算子过程中,若从Global Memory中读写数据(例如读算子输入数据、写算子输出数据等)出现内存越界,AscendCL会返回“EZ9999”错误码,表示存在算子AI Core Error问题。 |
父主题: 数据类型及其操作接口