23
インテル、より高いパフォーマンスを求めて統合グラフィックスとAMDのディスクリートカードを組み合わせる

(画像提供:Intel)

ゲーム開発者カンファレンス (GDC) 2020 のプレゼンテーションで、Intel は、Direct X を強化する 3D グラフィックス API である Direct3D 12 (D3D12) を使用して、個別のグラフィックス カードから CPU の統合グラフィックスに作業をオフロードする可能性について説明しました。Intel は、非同期ワークロードを含むマルチアダプターを使用して、Intel HD 530 統合グラフィックスと AMD の Radeon RX 480 グラフィックス カードを使用してパーティクルをシミュレートしました。

その中には、「統合型GPUとディスクリートGPUを備えたマルチアダプター」と呼ばれるものがあります。Intelは、ディスクリートグラフィックカードは統合型グラフィックを搭載したCPUと組み合わせられることが多く、最新のIntel統合型GPUがディスクリートグラフィックカードのみを使用する場合と比較して「大幅なパフォーマンス向上を実現するケース(非同期演算と後処理)」を調査したと述べています。

これは、一部のワークロードを統合GPUにオフロードすることで実現されます。Intelの手法では、シミュレーション(コンピュートシェーダー)を統合GPUで実行することで、ディスクリートGPUのグラフィックス処理能力を高めています。

(画像提供:Intel)

Intelの概念実証には、MicrosoftのD3D12 n体粒子シミュレーションが使用され、Intel HD 530グラフィックスとAMDのRadeon RX 480ディスクリートGPUを使用して400万個の粒子をシミュレートしました。IntelはディスクリートGPUのみを使用したアプローチのパフォーマンスについては言及していません。IntelはPCIe 3.0 x16を使用した場合のPCIe帯域幅について警告しています。400万個の粒子は64MBを占有するため、PCIeバスは256Hzで飽和状態になるということです。

Intel によれば、D3D12 でマルチアダプタを実現するには 2 つの方法があるそうです。 

1つ目は、リンクド・ディスプレイ・アダプター(LDA)です。この方式では、複数のノードを持つ1つのアダプター(D3Dデバイス)としてセットアップされ、リソースはノード間でコピーされます。Intelによると、これは通常対称的であり、つまり同一のGPUが使用されるということです。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

2 番目のアプローチは、共有リソースを備えた明示的なマルチアダプタであり、これは Intel が実行したものです。

Intelは、マルチアダプタの3つの用途を挙げました。1つは、フレームを交互に表示するなど、レンダリングを共有することですが、Intelによると、これは非対称GPUには適していないとのことです。 

もう 1 つは、統合グラフィックスで後処理を行うことですが、これには PCIe バスを 2 回通過する必要があります。 

3つ目のアプローチは、AI、物理演算、メッシュ変形、パーティクルシミュレーション、シャドウといった「非同期演算」ワークロードを統合グラフィックスで処理することです。Intelはこのアプローチが最適だと判断しました。これは、PCIバスを1度だけ通過するプロデューサー・コンシューマーモデル(一方のアダプターがコンテンツを生成し、もう一方のアダプターがそれを消費する)に従うためです。このようなタスクは完全にオフロードすることも可能です。さらに、レンダリングを待機させる必要がなく、演算処理に複数のフレームを処理できる場合も有利です。

Intel はサンプルコードを GitHub で公開しています。

考え

以前、Intel が今年の DG1 からディスクリート グラフィックスに備えてドライバーにマルチ GPU サポートを追加することを報告しました。

IntelのGDC 2020におけるマルチアダプターに関するプレゼンテーションは、Intelの統合グラフィックスを任意のディスクリートGPUと組み合わせてパフォーマンスを向上させる方法について詳しく説明しており、対象範囲は狭いものの、採用範囲は広いように思われます。現状では、統合グラフィックスはゲーム中はほとんどアイドル状態です。

ただし、これは共有レンダリングを目的としたものではなく、コンピューティングタスクを分割し、非同期タスクを統合グラフィックスに割り当てます。また、ゲーム開発者がこのモデルをサポートするには、ある程度のプログラミングが必要になります。

これは、Intel が統合グラフィックスをより便利にすることに取り組んでいることを示し、Intel のディスクリート グラフィックスと統合グラフィックスのセットアップで計画しているマルチ GPU サポートを予兆するものである可能性がありますが、非対称セットアップには不向きだと Intel が判断した共有レンダリングや後処理などの他のアプローチもサポートする予定があるかどうかはまだわかりません。