GPGPU
「General-Purpose computation on Graphics Processing Units」の略です。GPGPU、つまりGPUコンピューティングとは、GPUを使って一般的なコンピューティング処理を行うことです。現在のオペレーティングシステムでは、CPUと同時にプログラムからGPUへアクセスできるため、全体的なパフォーマンスが向上します。
GPUはグラフィックスの計算を処理するように設計されていますが、ほかの処理にも使用できます。GPGPUは、一部の処理を中央処理装置(CPU)からGPUへ移すことで、処理効率を最大限に高めます。GPUはグラフィックスを処理していない間も待機せず、常にほかのタスクを実行できます。GPUはベクトル計算の処理に最適化されているため、一部の命令をCPUより高速に処理することさえできます。
GPGPUは並列処理の一種で、CPUとGPUの間で処理を分担しながら同時に実行します。GPUが計算を終えると、その結果をバッファーに保存してからCPUに渡すことがあります。プロセッサは毎秒数百万回の処理を完了できるため、データがバッファーに保存される時間は数ミリ秒だけであることがよくあります。
GPUコンピューティングは、CPUとGPUが処理要求を共有できるプログラミング言語によって実現されています。最も広く使われているのはOpenCLです。これは複数のプラットフォームとビデオカードでサポートされているオープン標準です。そのほかには、NVIDIAが作成したAPIであるCUDA(Compute Unified Device Architecture)や、AMDが提供するSDKであるAPP(Accelerated Parallel Processing)があります。
知識をテストする