排查集体通信分析器 (CoMMA) 的问题

本页介绍了如何解决在使用集体通信分析器 (CoMMA) 时可能遇到的常见问题。CoMMA 是一个用于收集 Google Cloud 服务遥测数据的库。如需了解详情,请参阅集体通信分析器 (CoMMA)

排查 CoMMA 加载问题

CoMMA 可能无法正确加载。 如需验证二进制文件是否正确加载,请完成以下步骤:

  1. 启用 NCCL 调试日志记录。如需启用日志记录,请设置环境变量 NCCL_DEBUG=INFO。您也可以使用更详细的调试级别。 如需查看相关选项,请参阅 NVIDIA 文档中的 NCCL_DEBUG 部分。
  2. 指定要调试的 INIT 子系统。如需指定 INIT,请设置 NCCL_DEBUG_SUBSYS=INIT。您还可以添加其他子系统。 如需了解更多子系统选项,请参阅 NCCL_DEBUG_SUBSYS 部分。
  3. 在 NCCL 日志中查找类似于以下内容的行: NCCL INFO PROFILER/Plugin: Plugin name set by env to PATH_TO_PROFILER_PLUGIN

    如果未设置 NCCL_PROFILER_PLUGIN 环境变量,NCCL 可能会尝试从 LD_LIBRARY_PATH 环境变量中指定的路径加载 libnccl-profiler.so 二进制文件。

如需解决此问题,请考虑以下解决方案:

  • 验证插件共享库 (libnccl-profiler.so) 的命名是否正确。

    检查该文件是否位于 LD_LIBRARY_PATH 环境变量中指定的目录中。或者,检查 NCCL_PROFILER_PLUGIN 环境变量是否直接指向 libnccl-profiler.so 二进制文件的位置。

  • 检查您的 NCCL 版本是否为 2.23 或更高版本,因为 NCCL 分析器 API 需要此版本。

排查输出文件缺失问题

如果您已将环境配置为将 CoMMA 收集的数据发送到本地文件,但输出文件缺失,请检查 NCCL 日志或应用日志中是否包含类似以下内容的消息:

Failed to open file
Failed to log <telemetry type> to file

这些错误表明存在底层文件系统问题,例如缺少目录或可用空间不足。发生这些错误后,CoMMA 会停止将遥测数据导出到文件。

如需解决此问题,请考虑以下解决方案:

  • 检查 NCCL_PROFILER_LATENCY_FILENCCL_PROFILER_SUMMARY_FILE 环境变量是否已正确设置。提供有效的路径和文件名模板,例如 /tmp/latency-%p.txt
  • 检查该进程是否对指定的输出目录具有写入权限。
  • 如果您修改了 NCCL_TELEMETRY_MODE 环境变量,请检查您是否将其设置为可启用本地文件输出的值(例如 14)。

排查数据意外或事件缺失的问题

CoMMA 可能会捕获意外数据或错过预期事件。

如需解决此问题,请检查是否已设置所需的精细度级别