排查 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 可能会捕获意外数据或遗漏预期事件。

如需解决此问题,请检查是否设置了所需 粒度级别