Microsoftは、GPU Work Graphs、Wave Matrix、様々なGPUベンダーのAV1をサポートするAgility SDKの新しいプレビュー版を発表した。
MicrosoftのAgility SDKがAMD、NVIDIA、Intel、Qualcomm GPUでWork Graphs、Wave Matrix、AV1をサポート
本日、Microsoftは最新のAgility SDK 1.711.3-previewを発表し、Work Graphs、Wave Matrix、AV1のサポートを含む3つの新機能を搭載した。Work Graphsは、GPUが自律的に動作し、一般的な計算ワークロードに関連する制限に対処できるようにする主要な機能の1つだ。NaniteやLumenのような機能は、すでに現在のコンピュートシェーダーパラダイムの限界に達しており、Work Graphsはそれらを最適化するだけでなく、将来的に様々な機能を解放することができるため、Epic GamesはUnreal Engine 5にもWork Graphsを活用する予定だ。
Epic Gamesは、ここしばらくの間、GPU生成作業の問題に対するより良い解決策を模索し、提唱してきました。NaniteやLumenのようなUE5のレンダリング機能は、CPUが発行する個別のディスパッチのチェーンという現在のコンピュートシェーダーのパラダイムの限界にぶつかっています。
Work Graphsは、以前はできなかったことを可能にするだけでなく、はるかに簡単に記述できるようにする方法で、この問題に直接対処します。私たちはすでに、Work Graphsを使って現在の機能をどのように最適化できるかを模索し始めており、Work Graphsが将来どのような可能性を解き放つことができるのか、わくわくしています。
— Brian Karis, Epic Games
Work Graphs
Work Graphsは、GPUオートノミーの強力な新形態を導入する。
このWork Graphsの最初のリリースでは、カリング、ビニング、またはコンピュートワークのチェーン化などのタスクのために、コンピュートシェーダが他のコンピュートシェーダに非同期実行を要求することができる。 これらの作業要求には、必要に応じて、システムによって管理されるデータペイロードを含めることが可能だ。
ハードウェアは、開発者がすべてのデバイスの仕様を理解しなくても、効率的に作業をスケジューリングできる柔軟性を持っている。 このプログラミングモデルは、GPUワーク生成のための既存のシリアルExecuteIndirectモデルよりも使いやすく、多くの点で柔軟性がある。
ラスタライザーの起動のように、Work GraphsがまだExecuteIndirectの完全な代替ではない場合でも、必要に応じてExecuteIndirectバッファを設定することができる。Work Graphsには、Microsoftが時間をかけて新しい機能を追加することができる。AMDのGPUOpenブログのWork Graphsに関する投稿では、この技術について次のように説明している:
- …複雑な問題をより直接的に解決できるようになる。
- … メモリ制約を減らし、キャッシュ利用率を向上させる。
- … パス間の依存性とバリアによる複雑さを単純化する。
- … GPUスレッドの飽和を改善する
Wave Matrix
GPUや計算デバイスは、機械学習や画像処理アプリケーションで使用するために、より高い帯域幅での行列乗算をサポートする専用シリコンをハードウェアに追加し始めている。この専用シリコンへのアクセスを可能にするため、HLSLはWave Matrix命令を言語に追加する。この命令はWave Matrix Multiply Accumulate(WaveMMA)としても知られている。 この追加により、いくつかの新しい抽象的なWave Matrixデータ型が定義され、基礎となるハードウェアがWave内のすべてのスレッドにわたってデータを保存、並べ替え、複製できるようになる。以下はその仕様である。
MicrosoftのWave Matrixドライバサポート:
- AMD: AMDは、WaveMMAをサポートするAMD Software:WaveMMAをサポートするAdrenalin Editionドライバは数週間以内にリリースされる予定。
- Intel: Intelドライバについては、開発担当者にお問い合わせ頂きたい。
- NVIDIA: NVIDIAドライバについては、開発担当者にお問い合わせ頂きたい。
- Qualcomm: 今後のサポートを予定している。
AV1エンコーディング
AV1は、他のコーデックと同等の品質を維持しながら、より高い圧縮性能を提供することで、業界全体で採用が進んでいる新しいコーデックだ。
近年、AV1を使用してビデオをエンコードするための専用ハードウェアが利用できるようになった。 以前発表された既存のD3D12 Video Encode APIを拡張することで、MicrosoftはAV1ビデオエンコードハードウェアにアクセスするための統一インターフェースを提供することができる。以下はその仕様である。
AV1エンコードドライバのサポート
- AMD: AMDソフトウェア:AMD Radeon RX 7000シリーズグラフィックスGPUのAV1エンコードをサポートするAdrenalin Editionドライバは、2023年第4四半期に利用可能になる予定だ。
- Intel: Intelドライバについては、開発担当者にお問い合わせ頂きたい。
- NVIDIA: RTX 40シリーズGPU、ドライバ・バージョン545.31以上
- Qualcomm: 今後のサポートを予定している。
Source
- DirectX Developer Blog: Agility SDK 1.711.3-preview: Work Graphs, Wave Matrix, AV1 Encoding
コメントを残す