差分

ナビゲーションに移動 検索に移動

GPGPU

1,415 バイト追加, 2020年6月18日 (木) 07:21
編集の要約なし
'''GPGPU'''(読み:じーぴーじーぴーゆー)とは、[[GPU]]で画像処理以外の計算をやらせてみようというものである。
一般的には== 概要 ==2D画像処理の各種フィルタをGPGPUで実装している例も多い。[[テクスチャ人工知能]]を巨大な配列に見立てて、それをの[[深層学習]]でも使われている。 かつては[[仮想通貨]]の[[マイニング]]でも使われた。ただ仮想通貨のマイニングの計算式は特定の[[アルゴリズム]]であるため、[[コスパ]]を向上させる目的で[[GPGPU]]ではなく[[ASIC]]と主流になっている。 == 歴史 ===== 古代 ===「これ[[SIMD]]の代わりに使えるんじゃね?」 その昔、こんなことを思いついた人がいた。* 巨大なint型などの[[配列]]を[[テクスチャ画像]]に無理やり変換し、* それを[[ピクセルシェーダー]]で計算し、別のテクスチャに結果を吐き出すという方式である。で数値として取り出し計算させ、* レンダーターゲット(GPUの描画先テクスチャ)として取得し、巨大な配列に変換する
2D画像処理の各種フィルタをGPGPUで実装している例も多い。「構造体の配列を送信できるバーテックスバッファとバーテックスシェーダーを使ったほうが便利じゃん」と思うかもしれないが、この当時(SM 3.0 = DirectX 9)はGPUからデータを取得する手段がレンダーターゲット(GPUの描画先テクスチャ)以外にがなかった。GPUに送信した頂点データを計算前に単純にそのまま返してもらうことすらできなかった(なお現在は頂点データをGetDataできる)。 なのでピクセルシェーダーとレンダーターゲットが使われていた。
[[仮想通貨]]の[[マイニング]]や[[人工知能]]の[[深層学習]]などでも使われた。=== 近代 ===その後、SM4.0から「コンピュートシェーダー」が登場したことで、無理に画像化する必要がなくなった。バーテックスバッファのように構造体の配列を送信する手法が使えるようになった。飛躍的に手軽になった。
匿名利用者

案内メニュー