• 文档 >
  • 火炬环境变量 >
  • PYTORCH ProcessGroupNCCL 环境变量
快捷键

PYTORCH ProcessGroupNCCL 环境变量 ¶

想要了解更多关于环境变量的信息,请参阅 ProcessGroupNCCL 环境变量。

变量

描述

TORCH_NCCL_ASYNC_ERROR_HANDLING

控制在 watchdog 观察到异常时如何执行 NCCL 的异步错误处理。如果设置为 0,则不处理异步 NCCL 错误。如果设置为 1,则在错误发生时终止 NCCL 通信器并终止进程。如果设置为 2,则仅终止 NCCL 通信器;如果设置为 3,则在不终止 NCCL 通信器的情况下终止进程。默认情况下,设置为 3。

TORCH_NCCL_HIGH_PRIORITY

控制是否为 NCCL 通信器使用高优先级流。

TORCH_NCCL_BLOCKING_WAIT

控制 wait()是阻塞还是非阻塞。

TORCH_NCCL_DUMP_ON_TIMEOUT

控制是否在看门狗超时或检测到异常时输出调试信息。此变量必须与 TORCH_NCCL_TRACE_BUFFER_SIZE 一起设置,且大于 0。

TORCH_NCCL_DESYNC_DEBUG

控制是否启用 Desync 调试。这有助于确定集体不同步的恶意 rank。

TORCH_NCCL_ENABLE_TIMING

如果设置为 1 ,则启用所有 ProcessGroupNCCL 集合的记录启动事件,并计算每个集合的准确集合时间。

TORCH_NCCL_ENABLE_MONITORING

如果设置为 1 ,则启用监控线程,当 ProcessGroupNCCL 看门狗线程卡住且在 TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC 后未检测到心跳时,将终止进程。这可能是由于调用可能挂起的 CUDA/NCCL API 导致的。这有助于防止作业比必要的长时间卡住,从而占用集群资源。

TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC

控制监控线程终止进程的看门狗心跳超时周期。

TORCH_NCCL_TRACE_BUFFER_SIZE

我们在飞行记录器的环形缓冲区中存储的最大事件数。一个事件可以是集合的开始或结束,例如。设置为 0 以禁用跟踪缓冲区和调试信息转储。

TORCH_NCCL_TRACE_CPP_STACK

是否收集 cpp 堆栈跟踪以供飞行记录器使用。默认值为 False。

TORCH_NCCL_COORD_CHECK_MILSEC

控制监控线程内的间隔以检查来自其他进程的协调信号,例如,用于导出调试信息。默认值为 1000 毫秒。

TORCH_NCCL_WAIT_TIMEOUT_DUMP_MILSEC

控制我们在退出前等待输出调试信息的额外时间,以及抛出超时异常的阈值。

TORCH_NCCL_DEBUG_INFO_TEMP_FILE

文件将调试信息输出的文件。

TORCH_NCCL_DEBUG_INFO_PIPE_FILE

手动触发调试转储的管道文件,向管道写入任何内容都会触发转储。

TORCH_NCCL_NAN_CHECK

控制是否启用对输入的 NAN 检查,如果检测到 NAN,则会抛出错误。


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

查看 PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源