図1●米NVIDIA社の「NVIDIA Tesla K40」
2880ものコア(プログラミング可能)を有する。

 「GPGPU」とは、コンピューター画面に図形や画像を描く処理、すなわちグラフィックス処理用のプロセッサー(GPU:Graphics Processing Unit、図1)をグラフィックス処理以外の用途、例えばシミュレーション計算などに使うこと。General-purpose computing on graphics processing unitの略である。GPUを使わない場合に比べて、10分の1から100分の1の短時間で処理を終えられる場合がある。GPUは数十万円で入手可能であり、コストパフォーマンスに非常に優れたシステムを構成できる。最近では、計算時の消費電力の少なさでも注目されている。

 1990年代まで、グラフィックス処理用のハードウエア(以前はグラフィックス・アクセラレーターなどと呼ばれた)は文字通りグラフィックス処理を専門に処理する機構であり、グラフィックス以外の用途に使うことは想定されていなかった。科学技術計算やデータベース処理といった、コンピューターのユーザーが本来目的とする計算処理は、CPU(Central Processing Unit)の役割だった。

 ところが、GPGPUではこの考えをくつがえし、それまでCPUが処理していたような処理もGPUに実行させる。それも、単にCPUの負担を軽減するというよりは、むしろGPUの処理性能を生かして10~100倍という高速で計算を実行するものである。言ってみれば、脇役だったGPUが、一部ではあるにせよ表舞台の処理を担当するようになってきたわけだ。

 例えば、有限要素法解析ツールの「Ansys」では、あるモデルを扱うときに、GPGPUを用いた場合は約7倍のスピードで計算できたという(米NVIDIA社による)。粒子法を用いる流体解析ツール「Particleworks」では、自動車工業会デジタルエンジニアリング部会が調査したところ、約10倍の高速化効果を得られた。米NVIDIA社のWebサイトには、GPGPUに対応したさまざまなアプリケーションソフトの長いリストがある。