Skip to content

Latest commit

 

History

History
75 lines (50 loc) · 5.3 KB

what_vulkan_can_do.adoc

File metadata and controls

75 lines (50 loc) · 5.3 KB

Vulkan で出来ること

Vulkan はさまざまなユースケースに対応したアプリケーションの開発に使用できます。Vulkan アプリケーションは以下に紹介する機能を選択して使用できますが、ひとつの API でそれらすべてを使用できるように設計されています。

Note

Vulkan はツールの箱であり、ひとつのタスクを行うには複数の方法があるということが重要です。

グラフィックス

2D および 3D グラフィックスは、Vulkan API のメイン機能です。Vulkan は、ハードウェアアクセラレーションを利用したグラフィカルなアプリケーションを作成できるように設計されています。

Note

すべての Vulkan の実装はグラフィックスのサポートが必要ですが、WSI システムは必要ありません。

コンピュート

GPGPU と呼ばれる新しいプログラミングスタイルを用いて、GPU の並列性を計算タスクに活用できます。Vulkan は VkQueuesVkPipelines などのコンピュート用バリエーションをサポートしており、Vulkan を一般的な計算に使用することができます。

Note

すべての Vulkan の実装はコンピュートをサポートする必要があります。

レイトレーシング

レイトレーシングとは光の物理的な振る舞いをシミュレートするというコンセプトに基づいた、ラスタライズとは別のレンダリング技術です。

レイトレーシングのクロスベンダー API サポートは、Vulkan の1.2.162仕様で拡張機能として追加されました。 主な拡張機能は VK_KHR_ray_tracing_pipelineVK_KHR_ray_queryVK_KHR_acceleration_structure です。

Note

レイトレーシングの実装を公開している古い NVIDIA ベンダー拡張機能もあります。この拡張機能はクロスベンダー拡張機能よりも前から存在しました。新規に開発する場合は、新しい KHR 拡張機能を使用することをお勧めします。

ビデオ

Vulkan Video拡張機能により、開発者はハードウェアアクセラレーションによるビデオデコード機能をリアルタイムで使用することができます。この機能は、VK_KHR_video_queueVK_KHR_video_decode_queueVK_KHR_video_decode_h264VK_KHR_video_decode_h265 拡張機能を通じて公開されています。

Vulkan Video は Vulkan の理念に基づき、ビデオ処理のスケジューリング、同期、メモリ使用などを、柔軟かつきめ細かくアプリケーションに提供します。

Note

動画をエンコードするための暫定仕様へのフィードバックをお待ちしています。

機械学習

現在 Vulkan Working Group は、Vulkan を最新の GPU の機械学習計算機能を提供するためのファーストクラスの API にする方法を検討しています。詳細は Siggraph 2019 で発表されました。

Note

現時点では、機械学習用の Vulkan API は公開されていません。

セーフティクリティカル

Vulkan SC(Safety Critical)は、自動車、航空電子、産業、医療分野のセーフティクリティカルシステムに、最新のGPUのグラフィックスおよび計算能力をもたらすことを目的としています。2022年3月1日に公開され、仕様はこちらで確認できます。

Note

Vulkan SC は、Vulkan 1.2をベースに、セーフティクリティカルな市場に不要な機能を削除し、無視されるパラメータや未定義の動作を排除して仕様の堅牢性を高め、実行時フォルトの検出、報告、修正を強化したものです。