下载
中文
注册

环境变量参考

加速库安装完成后,提供进程级环境变量设置脚本“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。