通用环境变量 | 大装置帮助中心
跳到主要内容

通用环境变量

在提交训练任务时,ACP会自动注入多个通用环境变量,便于您在代码中直接使用。本文为您介绍系统中默认提供的环境变量列表。

系统环境变量说明(不能覆盖)


环境变量 默认值 环境变量说明
ECP_JOB_NAME Job的name值后端为 Pod 内部添加任务的name,以便用户后续进行回溯。name为Job的唯一标识,不运行用户

网络环境变量说明


ACP训练平台底层计算资源已开启了RDMA特性,且默认设置了最优NCCL/MCCL变量。您可以根据训练框架、通信框架以及模型特点进行必要的调整。强烈建议您使用平台预置系统内的默认变量, 可以获得较优性能。 目前N卡底层适配的是GPU通信源语库NCCL,国产化芯片沐曦C500适配的是GPU通信源语库MCCL。

NCCL关键环境变量的说明如下表所示,更多关于NCCL其他环境变量的说明,请参见NCCL链接


环境变量 默认值 环境变量说明
NCCL_IB_TIMEOUT 22 遇到通信延迟或者网络问题时,控制 InfiniBand 网络操作的超时时间(取值范围1-22),可以提升训练任务时的容错性能,若未配置或配置错误,可能会导致训练任务出现中断。建议在大模型训练任务中设置成最大值22,可以减少不少nccl timeout异常。
NCCL_IB_RETRY_CNT13变量控制 InfiniBand 的重试次数。建议在大模型训练任务中设置成13,尽可能多重试。
NCCL_IB_AR_THRESHOLD0改值设置为0是所有网络流量都会走ar来进行调度

MCCL关键环境变量的说明如下表所示。


环境变量 默认值 环境变量说明
MCCL_P2P_LEVELSYS指定MCCL使用P2P传输的gpu之间的最大距离是,通信的gpu属于同一NUMA。
MCCL_NET_GDR_LEVELSYS指定MCCL使用GDR传输的gpu与网卡之间的最大距离是,gpu与网卡属于同一NUMA。
MCCL_CROSS_NIC1允许ring/trees使用不同的网卡通信,节点间通信在不同节点上使用不同的网卡
FORCE_ACTIVE_WAIT1 指定UMD中Host侧等待事件或流之间同步的CPU行为,进程抢占CPU进行等待相对温和
MCCL_LIMIT_RING_LL_THREADTHRESHOLDS1 对Ring算法LL协议使用场景做限制