配置信息
环境变量
日志等级设置说明
-
日志等级:
NN模块中的日志主要分为7个等级:log等级可设置为0、1、2、3、4、5、6,分别对应Trace、Debug、Info、Warning、Error、Critical、Never,默认为Warning。
-
日志等级设置规则:
- 若发生的log等级 >= 设置的等级,则该log可以被打印,反之被屏蔽。
- 设置的log等级越小,打印信息越多。例如:设置log等级为3,即为Warning级别,则3、4、5等级的log均可以被打印。
NN模块默认log等级为Warning级别,即以下log级别的信息可以被打印:Warning、Error、Critical。
HBIR模型推理说明
DNN支持X86环境下推理HBIR模型,由于您的环境中可能不存在GPU,因此默认不使用GPU加速。
若您的机器上存在GPU,可以通过设置环境变量 HB_NN_HBIR_GPU_ENABLE 为 true 来使用GPU加速。
内存LRU缓存说明
BPU内存在BPU实际使用前,NN模块内部需要对该块内存进行特殊处理才能够正常使用,对内存的频繁处理会导致CPU负载变大,从而可能会引发性能问题。
为了解决这个问题,推理库提供了内存LRU缓存功能,通过设置环境变量 HB_NN_ENABLE_MEM_LRU_CACHE 为 true 来使用。设置方式如下:
-
NN模块内部基于LRU(最近最少使用原理)对输入输出内存进行管理,因此使用缓存功能时,您申请的内存在调用释放接口后,不会立即释放,直到缓存被清理后才会实际释放内存。可以通过设置
HB_NN_MEM_LRU_CACHE_CLEAN_INTERVAL环境变量来控制缓存清理的时间间隔。 -
场景约束:您申请的内存在反复使用的情况才有收益。
-
该缓存功能只适用于NN模块。
L2M模型推理支持说明
UCP侧L2 Cache采用静态映射方案,需要您使用环境变量 HB_DNN_USER_DEFINED_L2M_SIZES 配置分配给每个BPU核心的L2 Cache大小。每个核的Size间使用 : 分割,单位为 MB ,Size值仅支持整数。
UCP会在推理准备阶段按照您的配置分配所有核心的L2 Cache。如下是几种配置示例及说明:
-
启用L2 Cache优化时,不支持推理优先级设置为抢占。
-
多进程环境下,不同进程间L2 Cache相互独立,故需要保证各进程配置的L2 Cache总和不能超过硬件最大L2 Cache大小。
-
最大L2 Cache大小可以通过命令
cat /sys/kernel/debug/ion/heaps/custom进行查看。
