ニュース

「DirectX 12 Agility SDK」がアップデート、AV1ビデオのGPUエンコードなどの新機能

「Work Graphs」、「Wave Matrix」といった開発者向け機能もプレビュー

公式ブログ「DirectX Developer Blog」

 米Microsoftは6月22日(現地時間)、「DirectX 12 Agility SDK」の最新プレビュー版v1.711.3を公開した。「Work Graphs」、「Wave Matrix」、GPU上でのAV1ビデオエンコードの3つが新機能として追加されている。

 多くのGPUワークロードでは、初期計算でGPUが次に実行すべき作業が決まる。しかし、それを実際にGPUへ割り振るのはCPUの役目であり、そこでラウンドトリップ(往復)が発生する。新しい作業を直接GPUへ供給できた方が、より効率のよい処理を実現できるだろう。

 そこで、現在開発が進められているのが「Work Graphs」だ。この機能がドライバーでサポートされれば、コンピューティングシェーダーが他のシェーダーへ直接非同期実行を要求できるようになる。GPU側で効率的に作業をスケジューリングしてくれるため、従来の手法よりも柔軟性があり、開発者の負担が少なくて済むのも利点だ。

 一方の「Wave Matrix」は、スレッドの計算効率を高める技術だ。従来のHLSL(シェーダー)プログラミングにおいて実行スレッドは1つだけ(レーン)だったが、現在のGPUでは多くのスレッドが同じコア上で処理される。「Wave Matrix」はいわばその交通整理のために導入された概念で、複数のレーンを「ウェーブ」という単位で管理し、より効率のよい処理を実現する(Wave Matrix Multiply Accumulate:WaveMMA)。最近のGPUは、機械学習や画像処理で要求される行列乗算を高速に実行するため、より高帯域の専用シリコンを追加していることがあるが、そういった専用シリコンへのアクセスも可能にするという。

 WaveMMAに対応するドライバーは、AMDが間もなくリリースする。Intel/NVIDIA/ QualcommのGPUでも、いずれサポートされる見込み。

 最後のAV1ビデオのGPUエンコードは、以下のような対応状況になっている。

  • AMD:AMD Radeon RX 7000シリーズGPUでAV1エンコードをサポートする「Adrenalin Edition」ドライバーが2023年第4四半期にリリース予定
  • Intel:未定
  • NVIDIA:RTX 40シリーズGPU、ドライバーバージョン545.31以降で対応
  • Qualcomm:将来的に実装予定

 以前発表された「D3D12 Video Encode API」を拡張し、AV1ビデオエンコードハードウェアにアクセスするための統一インターフェースを提供することで、ドライバーさえ対応すれば「DirectX 12 Agility SDK」経由で比較的容易にアプリケーションへ組み込めるようになる。