环境变量参考
加速库安装完成后,提供进程级环境变量设置脚本“set_env.sh”,以自动完成环境变量设置,用户进程结束后自动失效。
Transformer加速库环境变量说明
- 基础环境变量
环境变量名
说明
ATB_HOME_PATH
软件包安装后文件存储路径。
LD_LIBRARY_PATH
Linux系统中加载动态库时的搜寻路径列表。
PATH
将ATB软件包bin目录的路径添加到系统PATH环境变量中,推荐使用默认路径。
- 加速库相关环境变量
环境变量名
默认值
功能说明
配置说明
ATB_STREAM_SYNC_EVERY_KERNEL_ENABLE
0
用于问题定位,确定报错所在的kernel。当变量配置为1时,每个Kernel的Execute结束时就做流同步。
0:关闭同步。
1:开启同步。
ATB_STREAM_SYNC_EVERY_RUNNER_ENABLE
0
用于问题定位,确定报错所在的runner。当变量配置为1时,每个Runner的Execute时就做流同步。
0:关闭同步。
1:开启同步。
ATB_STREAM_SYNC_EVERY_OPERATION_ENABLE
0
用于问题定位,确定报错所在的Operation。当变量配置为1时,每个Operation的Execute时就做同步。
0:关闭同步。
1:开启同步。
ATB_OPSRUNNER_SETUP_CACHE_ENABLE
1
是否开启ATB的SetupCache功能。该功能在检测到operation的输入和输出tensor未发生变化时会跳过setup的大部分流程,进而提升调度侧性能。
默认开启,以进行性能加速。
0:关闭Setup缓存。
1:开启Setup缓存。
ATB_OPSRUNNER_KERNEL_CACHE_TYPE
3
是否开启ATB的kernelCache功能。该功能在检测到operation的输入与参数未发生变化时,会复用已经计算好的tiling数据及内部结构体,进而提升调度侧性能。
0:不开启。
1:开启本地缓存。
2:开启全局缓存。
3:同时开启本地和全局缓存。
ATB_OPSRUNNER_KERNEL_CACHE_LOCAL_COUNT
1
本地kernelCache的槽位数。
- 槽位数增加时:增加cache命中率,但降低检索效率。
- 槽位数减少时:提高检索效率,但降低cache命中率。
支持范围:1~1024。
ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT
5
全局kernelCache的槽位数。
- 槽位数增加:增加cache命中率,但降低检索效率。
- 槽位数减少:提高检索效率,但降低cache命中率。
支持范围:1~1024。
ATB_OPSRUNNER_KERNEL_CACHE_TILING_SIZE
10240
设置kernelCache中每一块用于存储tiling的buffer大小(单位:字节)。
一般不建议用户更改,仅在算子tiling大小超过buffer大小时配置。
支持范围:1~1073741824。
ATB_WORKSPACE_MEM_ALLOC_ALG_TYPE
1
workspace内存分配算法选择。根据环境变量配置不同,ATB会选择不同的算法去计算workspace大小与workspace分配,用户可通过选择不同算法自行测试workspace分配情况。
0:暴力算法。
1:block分配算法。
2:有序heap算法。
3:引入block合并(SOMAS算法退化版)。
ATB_WORKSPACE_MEM_ALLOC_GLOBAL
0
是否使用全局中间tensor内存分配算法。开启后会对中间tensor内存进行大小计算与分配。
0:不开启。
1:开启。
ATB_COMPARE_TILING_EVERY_KERNEL
0
每个Kernel运行后,比较运行前和后的NPU上tiling内容是否变化,一般用于检查是否发生tiling内存踩踏。
0:不开启。
1:开启。
ATB_HOST_TILING_BUFFER_BLOCK_NUM
128
Context内部HostTilingBuffer块数,数量与OP并行的最大并行数有关,通常使用默认值,不建议修改。
配置范围:128~1024。
ATB_DEVICE_TILING_BUFFER_BLOCK_NUM
32
Context内部DeviceTilingBuffer块数,数量与OP并行的最大并行数有关,通常使用默认值,不建议修改。
配置范围:32~1024。
ATB_SHARE_MEMORY_NAME_SUFFIX
""
共享内存命名后缀,多用户同时使用通信算子时,需通过设置该值进行共享内存的区分。
可配置为任意字符串
ATB_LAUNCH_KERNEL_WITH_TILING
1
tiling拷贝随算子下发功能开关。开启后会修改tiling拷贝方式,主要用于
Atlas 推理系列产品 上的性能提升。0:关闭功能。
1:开启功能。
ATB_MATMUL_SHUFFLE_K_ENABLE
1
Shuffle-K使能,矩阵乘的结果矩阵不同位置计算时的累加序一致/不一致。会影响matmul算子内部累加序。
0:不使能,累加序一致。
1:使能,累加序不一致。
ATB_RUNNER_POOL_SIZE
64
加速库runner池中可存放runner的个数。
不建议用户更改,在OP输入tensor与参数配置多变的情况下,增加runner池容量可提升性能,但会增加host内存的使用量。
支持范围:0~1024。
为0时不开启runner池功能。
- 算子库相关环境变量
环境变量名
默认值
功能说明
配置说明
ASDOPS_HOME_PATH
"${atb_path}"
配置算子库路径,便于使用ATB功能。
指定合法路径。
ASDOPS_OPS_PATH
$ASDOPS_HOME_PATH/ops
配置算子库op路径,便于使用ATB功能。
指定合法路径 。
ASDOPS_MATMUL_PP_FLAG
1
算子库开启使用PPMATMUL。
0:使用TBE matmul算子。
1:使用算子库ppmatmul。
ASDOPS_LOG_LEVEL
ERROR
算子库日志级别。
严重级别从高到低:FATAL、ERROR、WARN、INFO、DEBUG、TRACE。
ASDOPS_LOG_TO_STDOUT
0
算子库日志是否输出到控制台。
0: 关闭。
1: 开启输出到控制台。
ASDOPS_LOG_TO_FILE
1
算子库日志是否输出到文件。
0: 关闭。
1: 开启输出到文件。
ASDOPS_LOG_TO_FILE_FLUSH
0
日志写文件是否刷新。
0: 关闭。
1: 开启。
ASDOPS_LOG_TO_BOOST_TYPE
atb
加速库日志目录名称。
任意合法目录名称。
ASDOPS_TILING_PARSE_CACHE_DISABLE
0
控制是否开启算子库tilingParse缓存优化。
开启优化后会提升非首token性能。
0: 开启缓存优化。
1: 关闭缓存优化。
ASDOPS_LOG_PATH
~
算子库日志保存路径。
合法路径。
LCCL_DETERMINISTIC
0
LCCL确定性AllReduce(保序加)是否开启。需注意,开启功能在rankSize<=8时生效。
开启后会有如下影响:
- 影响部分通信算子性能。
- 影响lccl通信算子的累加序。
0: 关闭。
1: 开启。
ASDOPS_QUANT_MIN_NEG_127
0
控制int8量化输出的最小值。
不建议用户修改。
0:最小值为-128。
1:最小值为-127。