この節は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "GPGPU"
GPUは一般的に画像処理を専門とする演算装置であり、多くの場合、CPUと呼ばれる主演算装置の制御の下で用いられる動画信号生成専用の補助演算用ICである。動画像の実時間内での生成は高速な演算が要求されるが、その多くが定式化された単純な演算の繰り返しであるためハードウェア化に向いており、GPUを設計している数社からは、高速なメモリ・インタフェース機能と高い画像演算能力を備えたIC製品のシリーズがいくつもリリースされている。GPUは民生用に大量生産されているため、スーパーコンピュータに用いられるベクトル型のカスタムCPUからすれば非常に安価である[6]。但し、GPGPUは完全なベクトル型として設計されていないx86等の一般的なCPUのSIMD命令と比較して高い並列度を誇りスループットが高いが、バスアクセスのためにレイテンシも大きくなることが欠点となる。従って、一定量のデータを常に流し込みながら計算させ続ける事が最も理想的な利用形態(ストリーム・プロセッシング)であり、逆にネットワークのパケット処理といった多数の小さいデータの各々に対して個別に処理を行う場合では効率は劇的に悪化する。
特に1990年代中盤以降は3D描画性能が劇的に向上し、それに伴いベクトル・行列演算を中心としたSIMD演算機の色彩が強くなってきた。2000年代に入ると、表現力の向上を求めて固定機能シェーダーからプログラマブルシェーダーへの移行が進み、演算の自由度・柔軟性(プログラマビリティ)が飛躍的に増した。そこでこれをグラフィックス・レンダリングのみならず、他の数値演算にも利用しようというのがGPGPUのコンセプトである。GPGPUのコンセプトは2000年代の実験期を経て、入力データをテクスチャデータに変換して画像用のシェーダーに処理させるという回りくどい工夫[16]が必要ない汎用計算用の言語やコンピュートシェーダーが開発された後、2010年頃のビッグデータブームの波に乗り産業応用が開始され、2010年代半ばには一般化した。
最高のシングル理論演算性能を持つGPU・MIC・CPU
(2015年8月現在)種別単精度倍精度
TFLOPSTFLOPS
GPU8.6
(AMD Radeon R9 Fury X)[17]2.62
(AMD FirePro S9170)[18]
MIC2.416
(Xeon Phi 7120P)[要出典]1.208
(Xeon Phi 7120P)[要出典]
CPU1.325
(Xeon E5-2699 v3)[要出典]0.662
(Xeon E5-2699 v3)[要出典]
上記の表は 1CPU, 1MIC, 1GPU に限定した表である。なおAMD Radeon R9 295X2やAMD FirePro S10000、NVIDIA GeForce GTX TITAN ZやNVIDIA Tesla K80のようなデュアルGPUソリューションは除外されている。
2015年現在、GPUの浮動小数点演算能力は単精度で8TFLOPSをオーバーした一方で、CPUはサーバー向けでも単精度は1TFLOPS台に留まっている。GPUは構成が単純であるためにCPUよりも集積化の点で有利であることから浮動小数点演算での効率がよく、またGPU専用にローカル接続されたメモリIC (VRAM) とのバンド幅を広く備えるために、CPUと比べて性能比で安価かつ成長の伸び率が高い[19]。さらにCPUよりも電力あたりの理論演算性能(ワットパフォーマンス、Performance per Watt)が高いのもGPUの特徴である。またGPUの主な使途がゲーム(PCゲーム)と動画再生で、ゲームをしないユーザーにとって余り気味の資源ということもあって注目されている。
2015年現在におけるGPGPU対応のグラフィックスカード(グラフィックスチップ)単体製品すなわちディスクリートGPU (discrete GPU, dGPU) としては、NVIDIAのNVIDIA GeForceおよびNVIDIA Quadroシリーズや、AMDのAMD RadeonおよびAMD FireProシリーズなどが代表として挙げられる(ただし後述するGPGPU対応APIをサポートするのはDirectX 10世代以降の製品となる)。