Collective Communication Analyzer(CoMMA)のトラブルシューティング

このページでは、Collective Communication Analyzer(CoMMA)の使用時に発生する可能性のある一般的な問題を解決する方法について説明します。CoMMA は、 Google Cloud サービスのテレメトリー データを収集するライブラリです。詳細については、Collective Communication Analyzer(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 プロファイラ API にはバージョン 2.23 以降が必要であるため、NCCL のバージョンが 2.23 以降であることを確認します。

出力ファイルが見つからない場合のトラブルシューティング

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 環境変数を変更した場合は、ローカル ファイルの出力を有効にする値(14 など)に設定されていることを確認します。

予期しないデータや欠落しているイベントのトラブルシューティング

CoMMA が予期しないデータをキャプチャしたり、予期されるイベントを見逃したりする可能性があります。

この問題を解決するには、必要な粒度が設定されていることを確認します。