环境变量列表
提交分布式训练任务时,系统会构建容器计算环境和设置相应的环境变量,该章节用于介绍常见的环境变量,用户也可根据实际训练任务自定义环境变量。
基本环境变量
-
适用于所有分布式训练环境
变量名 值(示例) 说明 用法 TENSORBOARD_LOG_PATH
/tensorboard_logs
TensorBoard 日志存放路径
指定 TensorBoard 的日志文件存储路径,用于训练过程中的可视化。
-
适用于使用 NVIDIA GPU 的分布式训练环境
变量名 值(示例) 说明 用法 NVIDIA_VISIBLE_DEVICES
GPU-b9807d54-6689-a9b5-3fd3-79e733fa28c5
可见的 GPU 设备
指定 PyTorch 训练过程中可使用的 GPU 设备。
NVIDIA_REQUIRE_CUDA
cuda>=12.3 brand=…
CUDA 版本要求和兼容的 GPU 品牌及驱动版本
用于指定 PyTorch 训练所需的 CUDA 版本及兼容的 GPU 类型和驱动版本。
NVIDIA_DRIVER_CAPABILITIES
compute,utility
GPU 驱动的功能
指定 GPU 驱动需要启用的功能,以确保计算任务正常进行。
LD_LIBRARY_PATH
/usr/local/nvidia/lib:/usr/local/nvidia/lib64
动态库路径
设置动态链接库的搜索路径,确保 PyTorch 能找到所需的 CUDA 库。
CUDA_VERSION
12.3.1
CUDA 版本
指定当前使用的 CUDA 版本。
NV_CUDA_CUDART_VERSION
12.3.101-1
CUDA Runtime 版本
指定当前使用的 CUDA Runtime 版本。
NV_CUDA_COMPAT_PACKAGE
cuda-compat-12-3
CUDA 兼容包
指定当前使用的 CUDA 兼容包版本。
NVARCH
x86_64
架构类型
指定当前使用的硬件架构。
MPI 分布式训练环境变量
变量名 | 值(示例) | 说明 | 用法 |
---|---|---|---|
OMPI_MCA_orte_default_hostfile |
/etc/mpi/hostfile |
指定默认的主机文件路径,用于 Open MPI 作业。 |
配置 Open MPI 以使用指定的主机文件定义计算节点。 |
OMPI_MCA_plm_rsh_agent |
/etc/mpi/kubexec.sh |
指定用于远程启动 MPI 进程的代理脚本。 |
配置 Open MPI 以使用特定脚本远程启动 MPI 进程。 |
PyTorch 分布式训练环境变量
针对 PyTorch 分布式训练存在以下变量可使用,禁止变更。
变量名 | 值(示例) | 说明 | 用法 |
---|---|---|---|
PET_NNODES |
1 |
PyTorch 作业中使用的节点数 |
用于多节点分布式训练节点。 |
PET_NODE_RANK |
0 |
当前节点的排名 |
用于多节点分布式训练中的节点识别。 |
MASTER_PORT |
23456 |
主节点上的端口号 |
设置分布式训练中的主节点端口,用于节点间通信。 |
PET_MASTER_PORT |
23456 |
PyTorch 主节点的端口号 |
和 MASTER_PORT 一样,用于设置分布式训练中的主节点端口。 |
WORLD_SIZE |
1 |
总进程数(节点数与每节点进程数的乘积) |
用于分布式训练中定义全局进程数,决定总的并行度。 |
PET_NPROC_PER_NODE |
auto |
每节点的进程数 |
自动配置每个节点的进程数,用于分布式训练。 |
PET_MASTER_ADDR |
tn-dp4iad3q4vsw-master-0 |
分布式训练中主节点的地址 |
设置主节点的 IP 地址或主机名,其他节点将连接到该地址以进行通信。 |
RANK |
0 |
当前进程在分布式训练中的全局排名 |
用于识别分布式训练中的每个进程。 |
TENSORFLOW 分布式训练环境变量
变量名 | 值(示例) | 说明 | 用法 |
---|---|---|---|
TF_CONFIG |
{"cluster":{"worker":["tn-dp8mcg9lv11c-worker-0.usr-rticrzez.svc:2222","tn-dp8mcg9lv11c-worker-1.usr-rticrzez.svc:2222"]},"task":{"type":"worker","index":0},"environment":"cloud"} |
TensorFlow 集群配置。包含集群角色信息和任务信息。 |
在分布式 TensorFlow 作业中,TF_CONFIG 用于配置集群的作业角色、任务索引以及环境类型。 |