昇腾社区首页
中文
注册
开发者
下载

环境变量说明

MindIE LLM安装完成后,提供进程级环境变量设置脚本“set_env.sh”,以自动完成环境变量设置。

表1 “set_env.sh”脚本环境变量说明

环境变量名

说明

MINDIE_LLM_HOME_PATH

MindIE LLM主目录所在路径。默认值为set_env.sh所在的路径。

MINDIE_LLM_BACKEND

BACKEND的类型,可选值为"atb"、"pt"和"ms"。

PYTHONPATH

用于告诉 Python 解释器在哪个路径下查找用户定义的模块。

ATB_SPEED_HOME_PATH

模型仓安装后文件存储路径,MindIE LLMMindIE Service组件依赖此环境变量。

PYTORCH_INSTALL_PATH

torch三方件的安装路径,使用以下方式获取python3 -c 'import torch, os; print(os.path.dirname(os.path.abspath(torch.__file__)))'。

PYTORCH_NPU_INSTALL_PATH

torch_npu三方件的安装路径,使用以下方式获取python3 -c 'import torch, torch_npu, os; print(os.path.dirname(os.path.abspath(torch_npu.__file__)))'。

LD_LIBRARY_PATH

在LD_LIBRARY_PATH环境变量中,添加${ATB_SPEED_HOME_PATH}/lib路径,以此关联模型仓编译出的动态库;

添加${PYTORCH_INSTALL_PATH}/lib路径,以关联torch三方件提供的动态库;

添加${PYTORCH_NPU_INSTALL_PATH}/lib路径,以关联torch_npu三方件提供的动态库。

ATB_OPERATION_EXECUTE_ASYNC

算子setup和execute异步执行开关。

  • 0:不开启。
  • 1:开启。(默认值)

TASK_QUEUE_ENABLE

默认模型仓拉起子线程执行execute任务,开启此环境变量后,使用Torch三方件启动的线程执行execute任务。

0:模型仓拉起子线程执行execute任务

1:使用Torch三方件启动的线程执行execute任务(默认值)

ATB_CONTEXT_HOSTTILING_RING

CPU侧用来存放算子Tiling data的Buffer块数量。默认为1。

ATB_CONTEXT_HOSTTILING_SIZE

CPU侧用来存放算子Tiling data的Buffer块大小。默认为102400字节。

ATB_WORKSPACE_MEM_ALLOC_GLOBAL

是否开启全局中间tensor内存分配。

  • 0:不开启。
  • 1:开启。(默认值)

ATB_CONTEXT_WORKSPACE_RING

NPU侧用来存放算子Workspace data的Buffer块数量。默认为1。

ATB_CONTEXT_WORKSPACE_SIZE

NPU侧用来存放算子Workspace data的Buffer块大小。默认为629145600字节。

ATB_USE_TILING_COPY_STREAM

是否多开启一个Stream做Tiling data从CPU拷贝到NPU的动作。不推荐开启,加速库已默认开启ATB_LAUNCH_KERNEL_WITH_TILING环境变量,打开Tiling data拷贝随算子下发功能。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_OPSRUNNER_KERNEL_CACHE_LOCAL_COUNT

设置op runner的本地cache 槽位数,默认值为1个。

ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT

设置op runner的全局cache 槽位数,默认值为16个。

ATB_WORKSPACE_MEM_ALLOC_GLOBAL

ATB全局内存分配开关。

  • 0:不开启。
  • 1:开启。(默认值)

其他环境变量说明。

表2 其他环境变量说明

环境变量名

说明

INF_NAN_MODE_ENABLE

可以开启以下环境变量,开启后若出现溢出,溢出值会被置为NaN;若不开启此变量,则会对溢出值进行截断。

  • 0:不开启。
  • 1:开启。(默认值)

INT8_FORMAT_NZ_ENABLE

INT8类型的Tensor转为NZ格式时需要开启此环境变量。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_ACLNN_CACHE_GLOABL_COUNT

设置AclNN算子所需aclExecutor的全局Cache个数。取值范围:[0, 100),默认值为16。

ATB_LLM_LCOC_ENABLE

通信计算掩盖功能开关。

  • 0:不开启。
  • 1:开启。(默认值)

BIND_CPU

是否将NPU上运行的进程基于CPU亲和度绑核。

  • 0:不开启。
  • 1:开启。(默认值)

CPU_BINDING_NUM

设置每个进程绑的核数。该值不得小于0,默认为numa节点核心数的一半。

WORLD_SIZE

张量并行数量。

ASCEND_RT_VISIBLE_DEVICES

指定当前机器上可用的逻辑NPU核心,多个核心间需使用逗号相连。默认值为[1,2,3,...,${WORLD_SIZE} - 1]。

ATB_LLM_HCCL_ENABLE

是否使能HCCL通信后端。

  • 0:不开启。(默认值)
  • 1:开启。

PROFILING_LEVEL

设置ProfilerLevel。可选项为"Level0"(默认值)、"Level1"、"Level2"、"Level_none"。

ATB_PROFILING_ENABLE

是否采集性能profiling数据。

  • 0:否。(默认值)
  • 1:是。

PROFILING_FILEPATH

设置profiling文件路径,默认保存在当前路径下profiling文件夹中。

RESERVED_MEMORY_GB

模型运行时动态申请显存池的大小。取值范围:[0, 64),默认值为3。

CUDA_MEMORY_FRACTION

显存利用率。在ATB Models中默认为1.0。取值范围:(0.0, 1.0]。

MAX_MEMORY_GB

推理时使用的最大显存。默认值为None,取npu-smi info指令获取到的显卡内存值。取值范围:(0, 64]。

ATB_LLM_COMM_BACKEND

通信后端。支持"hccl"或"lccl"。Atlas 800I A2默认通信后端为"lccl"。Altas 300I Duo默认通信后端为"hccl"。

ATB_LLM_ADD_NORM_ENABLE

是否使用add norm融合算子。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_LLM_SPECULATE

是否开启并行解码。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_LOG_TO_STDOUT

ATB C++日志写入标准输出流的开关。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_LOG_TO_FILE

ATB C++日志保存写入文件的开关。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_LOG_LEVEL

ATB C++日志级别。

可选范围:"TRACE"、"DEBUG"、"INFO"、"WARN"(默认值)、"ERROR","FATAL"。

ATB_HOME_PATH

ATB加速库所在路径。

ASCEND_LAUNCH_BLOCKING

算子同步下发功能开关,用于debug场景。

  • 0:不开启。(默认值)
  • 1:开启。

IS_ALIBI_MASK_FREE

是否支持Speculate。

  • 0:否。(默认值)
  • 1:是。

RANK

指示device的全局ID。取值范围为[0, ${WORLD_SIZE} - 1),默认值为0。

LONG_SEQ_ENABLE

判断是否是长序列。

ATB_LLM_BENCHMARK_ENABLE

性能数据获取是否打开。

  • 0:不开启。(默认值)
  • 1:开启。

ATB_LLM_BENCHMARK_FILEPATH

性能数据保存路径,默认为None。

ATB_LLM_TOKEN_IDS_SAVE_ENABLE

ModelTest场景下,是否保存token信息(使能此功能时,环境变量`MODELTEST_DATASET_SPECIFIED`不能为空)。

  • 0:否。(默认值)
  • 1:是。

ATB_LLM_TOKEN_IDS_SAVE_FOLDER

ModelTest场景下,token信息的存放路径,默认为当前路径。

MODELTEST_DATASET_SPECIFIED

ModelTest场景下,采用的数据集后处理类型,默认为None。

ATB_LLM_LOGITS_SAVE_ENABLE

ModelTest场景下,是否保存logits信息(使能此功能时,环境变量`MODELTEST_DATASET_SPECIFIED`不能为空)。

  • 0:否。(默认值)
  • 1:是。

ATB_LLM_LOGITS_SAVE_FOLDER

Logits信息的保存路径,默认为当前路径。

ATB_LLM_ENABLE_AUTO_TRANSPOSE

是否开启权重右矩阵自动转置寻优。

  • 0:不开启。
  • 1:开启。(默认值)

LOG_LEVEL

ATB Python程序日志的级别。取值范围:"NOTSET"、"DEBUG"、"INFO"(默认值)、"WARN/WARNING"、"ERROR"、"FATAL"、"CRITICAL"。

LOG_TO_FILE

ATB Python日志文件的存储路径。默认为空(即不写入文件)。

PYTHON_LOG_MAXSIZE

ATB Python日志单个文件的最大容量(单位:字节),默认值:1073741824(1GB)。

LOCAL_RANK

指示Device的本地ID。

TIMEIT

判断调用_timeit_run还是_run。

MAX_SEQ_LEN

RotaryEmbedding入参。

MINDIE_LLM_LOG_TO_STDOUT

MindIE LLM C++日志写入标准输出流开关。

  • 0:不开启。(默认值)
  • 1:开启。

MINDIE_LLM_LOG_TO_FILE

MindIE LLM C++日志写入文件开关。

  • 0:不开启。(默认值)
  • 1:开启。

MINDIE_LLM_LOG_LEVEL

MindIE LLM C++日志级别。取值范围:"TRACE"、"DEBUG"、"INFO"、"WARN"(默认值)、"ERROR"、"FATAL"。

SOURCE_DATE_EPOCH

构建whl包所需的时间戳。

RANKTABLEFILE

Ranktable文件存放的路径。

  • 多机推理必须配置。
  • 单机推理建议取消该环境变量(取消命令:unset RANKTABLEFILE)。如果设置该环境变量,文件内容必须正确有效(节点IP地址和device_ip必须正确),否则会导致模型初始化失败。

CUDA_VISIBLE_DEVICES

GPU精度、性能测试需要。

MIES_USE_MB_SWAPPER

高性能Swap开关。

ATB_CONVERT_NCHW_TO_ND

是否将输入Tensor的格式从NCHW转成ND(加速库不支持传入NCHW格式的Tensor)。

  • 0:否。
  • 1:是。(默认值)

ATB_LAYER_INTERNAL_TENSOR_REUSE

Model调用Layer时,是否复用Layer间的中间Tensor。

  • 0:否。
  • 1:是。(默认值)

当BIND_CPU环境变量开启时,会调用execute_command方法执行以下命令:

execute_command(["npu-smi", "info", "-i", f"{npu_id}", "-t", "memory"]).split("\n")[1:]execute_command(["npu-smi", "info", "-i", f"{npu_id}", "-t", "usages"]).split("\n")[1:]execute_command(["npu-smi", "info", "-m"]).strip().split("\n")[1:]execute_command(["npu-smi", "info", "-t", "board", "-i", f"{device_info.npu_id}", -c", f"{device_info.chip_id}"]).strip().split("\n")execute_command(["lspci", "-s", f"{pcie_no}", "-vvv"]).split("\n")execute_command(["lscpu"]).split("\n")