GPGPU(General Purpose computing on GPU、GPUによる汎目的計算)とは、GPUを、グラフィック処理以外の別の演算に使うことである。
概要
コンピュータにおいてグラフィックス処理を専門に行うプロセッサ(GPU)は、汎用処理を行うCPUとは異なり、何百もの並列処理を行えるプロセッサとして進化した。一部の人間はこのGPUの高い潜在能力に注目し、GPUで、本来のグラフィックス処理とは異なるアプリケーションを実行できないかと考えるようになった。
当初はグラフィックスAPIとグラフィックス処理専用言語を用いてプログラムを書かなければならなかったが、GPUが統合型シェーダアーキテクチャで構成されるようになり、NVIDIAの「CUDA」のような専用開発環境が用意されたことで、GPU上で動作する独自プログラムをC言語で書けるようになった。
現在はAMDも、AMD版CUDAと言える「ROCm」を用意しており、両社のGPUでGPGPUを実行することができる。
対応ソフト
物理演算等のシミュレーションや動画等のエンコードでの活用が広がっており、有名どころではAbobe社のCS4ファミリーやFlashPlayer Ver.10が対応している。
他にも分散コンピューティングプロジェクト分野ではBONICも対応している。
対応製品(ハードウェア)
一般ユーザーが入手出来るものでGPGPUに対応している製品としては
NVIDIA
GeForce 8000 / 9000 / 200シリーズ
Quadro FX 300 / 400 / 500 / 1000 / 3000 / 4000 / 5000シリーズ
Plex 1000 / 2000シリーズ
Teslaシリーズ
ATI(AMD)
Radeon HD 4000シリーズ
FireStream 9000シリーズ
等が存在している。基本的にはストリーミングプロセッサを搭載しているGPUならばGPGPUに対応していることがほとんどである。もちろんドライバとソフトが対応していなければ機能を使用することは出来ない。
例外ではあるが、PS3に搭載されているCellもGPGPUを使用することが出来る。
関連項目
外部リンク
親記事
子記事
- なし
兄弟記事
- 4
- 0pt