aclSysParamOpt

typedef enum { 
    ACL_OPT_DETERMINISTIC = 0, 
} aclSysParamOpt;
表1 枚举项说明

枚举项

说明

ACL_OPT_DETERMINISTIC

是否开启确定性计算。

  • 0:默认值,不开启确定性计算。
  • 1:开启确定性计算。

当开启确定性计算功能时,算子在相同的硬件和输入下,多次执行将产生相同的输出。但启用确定性计算往往导致算子执行变慢。

默认情况下,不开启确定性计算,算子在相同的硬件和输入下,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。

通常建议不开启确定性计算,因为确定性计算往往会导致算子执行变慢,进而影响性能。当发现模型多次执行结果不同,或者是进行精度调优时,可开启确定性计算,辅助模型调试、调优。