PCIeピアツーピア転送は、テンソルをホストRAM経由で中継するのではなく、互換性のあるGPUメモリ間で直接移動させることで、マルチGPU推論のオーバーヘッドを削減できます。
2台のGPUに分割されたローカルモデルでは、デバイス境界をまたいで実行するたびに、アクティベーション、KVブロック、またはエキスパート出力を転送する必要があります。直接ピアアクセスがなければ、データは一方のGPUからホストメモリへ移動し、そこからもう一方のGPUへ戻るため、CPU側のリンクを消費してコピーが追加される場合があります。P2Pはこの経路を短縮しますが、その効果はトポロジー、転送サイズ、同期、そしてモデルが通信する頻度に左右されます。
ピアアクセスにより、ホスト経由のコピー経路を置き換える
ピアアクセスを有効にすると、一方のGPUはサポートされているインターコネクト経路を通じて、もう一方のGPUのメモリをアドレス指定したり、データをコピーしたりできます。これにより、ページング可能またはピン留めされたシステムメモリ内の明示的なバウンスバッファを介した転送を避け、CPUの関与を減らせます。
CUDAプログラミングガイドでは、デバイスの各ペア間でピアメモリアクセスがサポートされ、有効化されている必要があると説明されています。利用可能性は方向とトポロジーに依存するため、ソフトウェアは1台のホスト内のすべてのGPUが直接通信できると仮定せず、各ペアを照会する必要があります。
それでも、コンシューマーGPUが未完了のアクティベーションを読み取らないように同期が必要です。P2Pはステージング処理を削減しますが、順序制御、カーネル起動、集合通信のコストをなくすものではありません。この違いは、後の実環境テストでも明確に現れます。
PCIeトポロジーがダイレクト経路の実効帯域幅を決める
同じPCIeスイッチ配下にある2台のGPUは、CPUソケットをまたがずにトラフィックを交換できることが多い一方、異なるルートコンプレックスの背後にあるデバイスでは、ホスト経路が必要になったり、P2Pサポートが失われたりする場合があります。リンク世代、レーン幅、スイッチのオーバーサブスクリプション、同時トラフィックが上限を決めます。
NCCLは、CUDAが互換性のあるGPUを報告した場合、利用可能なトポロジーに応じてPCIeまたはNVLinkを使用し、GPU間の直接通信を優先すると説明しています。そのトポロジーツールでは、各デバイスペアが直接PCIeアクセスを使用できるかどうかを確認できます。自動化を進める前に、中間結果を検証可能な状態に保つ必要があります。
小さな転送では起動と同期のレイテンシーが支配的なままになる一方、大きなテンソル転送ではリンク帯域幅に近づきます。境界の狭い通信を頻繁に行うパイプラインでは、より少数の大きなブロックを通信する設計よりも得られる効果が小さい場合があります。この境界は、現実的な動作条件で個別に測定する必要があります。
分割方法が、コピー高速化の重要性を決める
テンソル並列では多くのレイヤー内で通信が発生し、パイプライン並列ではステージ境界間でアクティベーションを転送し、エキスパート並列ではルーティングされたトークンを交換します。そのため、同じP2Pリンクでも、分割戦略によって使用頻度が低くなる場合もあれば、主なボトルネックになる場合もあります。
NVIDIAのGPUDirectに関する設計説明では、PCIeトポロジーの配置とスイッチの配置が、CPU経由の経路と比較した直接データ移動にどのような影響を与えるかを示しています。推論フレームワークが独自の集合通信およびスケジューリング層を追加する場合でも、この原則は当てはまります。実際の影響は、複数のソースが限られたコンテキストを奪い合うときに現れます。
失敗の境界となるのは、サポートされていないトポロジー、IOMMUまたは仮想化による制限、あるいはPCIeの予算をすでに超えている通信です。その場合、ソフトウェアはホスト経由のステージングにフォールバックするか、リンク競合の影響を受けます。その結果、計算能力が増えているにもかかわらず、2台目のGPUを追加すると推論が遅くなることがあります。
すべてのGPUペアとモデル境界を測定する
GPU、CPUソケット、PCIeルート、スイッチ、リンク世代、幅、P2P機能、NUMAメモリをマッピングします。代表的な転送サイズで、片方向および双方向のピアコピーと、ホスト経由のコピーをベンチマークします。この依存関係は、最終的なインターフェースでも明示したままにする必要があります。
その結果をNUMAを考慮した配置と関連付けます。P2Pの有効時と無効時について、各モデル分割の計算時間、通信時間、同期、集合通信帯域幅、1秒あたりのトークン数、リクエストのp99レイテンシーをプロファイリングします。そのため、結果は元の根拠と照合する必要があります。
エンドツーエンドのレイテンシーまたは処理容量が向上する場合にのみ、マルチGPU構成を維持します。直接コピーが高速でも推論が通信に制約される場合は、P2Pサポートだけで十分だと考えるのではなく、分割境界を減らすか、トポロジーを考慮した配置を選択します。
テック&AIハブ
もっと読む

エンベディングドリフトとは何か、プライベート検索インデックスの再構築が必要になるのはいつか?
モデル、前処理、コーパス、クエリのドリフトを解読し、監視と非互換性を区別して、プライベートインデックスの再構築が必要なタイミングを判断します。

トークナイザーの互換性とは何か、なぜモデルの切り替えで問題が起きるのか?
ローカルモデル切り替えのために、語彙の同一性、特殊トークンのセマンティクス、チャットテンプレート、キャッシュ済みトークン、アダプター、互換性チェックを解読する。

モデル常駐とは何か、ローカルAIサービスはいつ重みをロードしたままにすべきか?
重みの常駐性、キャッシュレベル、コールドスタート、追い出し、マルチプレクシング、メモリプレッシャー、そして家庭用AIサービスをウォーム状態に保つべきタイミングを解説します。

