コンピュートシェーダー

提供: MonoBook
2020年6月5日 (金) 05:32時点におけるAdministrator (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

コンピュートシェーダー英語:compute shader)とは、GPUを使ったGPGPUを手軽に行うことができるフレームワークの拡張機能やツール類などのことである。

主な種類

GPGPUに特化したプログラミング言語と専用のコンパイラもあれば、従来の画像処理用のシェーダーにGPGPUを手軽に扱えるようにした拡張したものまで色々ある。

GPGPUに特化したプログラミング言語

最近流行りの人工知能仮想通貨といえばこれが主流である。

レンダリング向けシェーダーに拡張を施したもの

GPGPU特化型プログラミング言語と異なり、古くからレンダリングに用いられてきたHLSLGLSLを用いることができるもの。

この手のものはコンピュートパイプラインとレンダリングパイプラインを同じコマンドリストに入れられ、その中でバッファやテクスチャなどを共有できるのでGPU(VRAM)から出ることなく一連の処理をできる。いちいちCPUメインメモリに処理やデータが帰ってこないので用途によっては非常にパフォーマンスが良い。

画像処理や画像認識などでは「処理」した結果を「描画」して見せるまでワンセットなのでこちらを使っていることが多い。コンピュートシェーダーで画像を処理して、その結果をピクセルシェーダーで単純描画するというのが定番である。