「GPGPU」の版間の差分
ナビゲーションに移動
検索に移動
(→古代) |
(→近代) |
||
20行目: | 20行目: | ||
=== 近代 === | === 近代 === | ||
− | その後、SM4. | + | その後、SM4.0から「[[コンピュートシェーダー]]」が登場したことで、無理にテスクチャ画像化する必要がなくなった。 |
バーテックスバッファのように構造体の配列を送信する手法が使えるようになった。 | バーテックスバッファのように構造体の配列を送信する手法が使えるようになった。 | ||
飛躍的に手軽になった。 | 飛躍的に手軽になった。 |
2020年6月18日 (木) 07:33時点における版
GPGPU(読み:じーぴーじーぴーゆー)とは、GPUで画像処理以外の計算をやらせてみようというものである。
概要
2D画像処理の各種フィルタをGPGPUで実装している例も多い。GPUといえば画像処理であるが、2D画像処理に関してはアルゴリズムによってはピクセルシェーダーで計算するよりもコンピュートシェーダーで計算した方が書きやすいこともある。
かつてはGPGPUは仮想通貨のマイニングでも使われた。ただ仮想通貨のマイニングの計算式は特定のアルゴリズム(ハッシュ関数)であり頻繁に変化するものではないため、コスパを向上させる目的でGPGPUからFPGAへ、FPGAからASICへと変移していった。
歴史
古代
「これSIMDの代わりに使えるんじゃね?」
その昔、こんなことを思いついた人がいた。
「構造体の配列を送信できるバーテックスバッファとバーテックスシェーダーを使ったほうが便利じゃん」と思うかもしれないが、この当時(SM 3.0 = DirectX 9)はGPUからデータを取得する手段がレンダーターゲット(GPUの描画先テクスチャ)以外になかった。CPU側からGPU側に送信したデータを見ることすらできない。完全に一方通行。なのでピクセルシェーダーとレンダーターゲットが使われていた。
近代
その後、SM4.0から「コンピュートシェーダー」が登場したことで、無理にテスクチャ画像化する必要がなくなった。 バーテックスバッファのように構造体の配列を送信する手法が使えるようになった。 飛躍的に手軽になった。