読み方 : バルカン

Vulkan

概要

Vulkanとは、GPUを用いてコンピュータグラフィックスCG)描画や数値計算を行うための低水準API規格の一つ。ソフトウェアからGPUを制御するための共通仕様を定めたもので、GPUの性能を引き出して3DCGの描画や機械学習などの大量の数値計算を高速に実行することができる。
Vulkanのイメージ画像

従来の同種のAPIである「OpenGL」や「DirectX」では、開発者がGPUの細かい動作を意識しなくても良いように、ドライバ側が多くの処理を自動管理する設計になっていた。しかし、その分ドライバの処理が複雑化してオーバーヘッドが生じやすく、CPUの負荷が高くなる場合があった。

Vulkanは、GPUに対する制御の多くをアプリケーション側に委ねる「低レベルAPI」として設計されている。メモリ管理、コマンドバッファの構築、レンダリングパスの設定など、従来はドライバが暗黙的に処理していた部分を開発者が明示的に記述する必要がある。これにより、ドライバオーバーヘッドを大幅に削減し、マルチスレッドを活用した効率的なGPUコマンドの発行が可能となる。

一方、低レベルの制御を自前で実装しなければならないアプリケーション開発の難易度は高い。OpenGLなどと比較してコード量が大幅に増える傾向があり、開発者に高度な知識やスキルも要求される。対策として、Unreal EngineやUnityなどの商用ゲームエンジンでは、Vulkanのバックエンドをサポートすることで、開発者が直接APIを操作しなくても恩恵を受けられる環境を整備している。

Vulkanは「OpenGL」の標準化で知られる業界団体のクロノスグループ(Khronos Group)が仕様を策定しており、初版は2016年に発表された。米NVIDIA社や米AMD社、米インテル(Intel)社、米クアルコム(Qualcomm)社など主要なGPUメーカー(CPU内蔵グラフィックスを含む)がサポートしている。対応OSはWindows、macOS、LinuxAndroidなどで、クロスプラットフォーム開発でも利用される。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。