本页介绍了如何解决在使用集体通信分析器 (CoMMA) 时可能遇到的常见问题。CoMMA 是一个用于收集 Google Cloud 服务遥测数据的库。如需了解详情,请参阅集体通信分析器 (CoMMA)。
排查 CoMMA 加载问题
CoMMA 可能无法正确加载。 如需验证二进制文件是否正确加载,请完成以下步骤:
- 启用 NCCL 调试日志记录。如需启用日志记录,请设置环境变量
NCCL_DEBUG=INFO。您也可以使用更详细的调试级别。 如需查看相关选项,请参阅 NVIDIA 文档中的NCCL_DEBUG部分。 - 指定要调试的
INIT子系统。如需指定INIT,请设置NCCL_DEBUG_SUBSYS=INIT。您还可以添加其他子系统。 如需了解更多子系统选项,请参阅NCCL_DEBUG_SUBSYS部分。 在 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_FILE或NCCL_PROFILER_SUMMARY_FILE环境变量是否已正确设置。提供有效的路径和文件名模板,例如/tmp/latency-%p.txt。 - 检查该进程是否对指定的输出目录具有写入权限。
- 如果您修改了
NCCL_TELEMETRY_MODE环境变量,请检查您是否将其设置为可启用本地文件输出的值(例如1或4)。
排查数据意外或事件缺失的问题
CoMMA 可能会捕获意外数据或错过预期事件。
如需解决此问题,请检查是否已设置所需的精细度级别。