Tech
ネットワークエンジニアが、最近気になっているIT関連情報をハード寄りでお届けするブログ
 

【第23回】GPGPU その1

 
聞き慣れない単語のGPGPU(General-Purpose GPU)ですが、
これはPCに搭載されているグラフィックカード(GPU)を
PCにおける画像処理目的以外に利用する技術です。

GPU01.jpg

グラフィックカード元々3Dゲームでのグラフィックス処理計算のために
使用されていた物に様々な機能が追加され、
汎用プロセッサ的な機能が備わってきたことによって実現したものです。

計算はCPUで通常行われますが、なぜGPUを使用するかというと、
CPUは実装されている演算器は多くて数器程度で、
GPUはハイエンドモデルになると数百器搭載されています。
クロックなどの違いを考慮したとしてもGPUの方が10倍は速くなるそうです。

またメモリシステムにしてもGPUの方がかなりの帯域幅を確保できているので
その点についてもGPUが有利になります。


CPUとGPUの違いを計算能力(FLOPS)で表すと次のようになります。

現在発売されているハイエンドモデル
CPU 数十GFLOP
GPU 数百G~1TFLOPS

おまけでゲーム機
PS3         218GFLOPS(CPU)
Xbox 360      1TFLOPS(システム全体)
Wii          21GFLOPS(システム全体)

※FLOPSは理速度をあらわす単位の一つで、
  1秒間に1回の浮動小数点数演算(実数計算)ができることを示します。

数字で表すとGPUはCPUとの性能差がかなりあることが良くわかります。
ただし、GPUの命令は限られていたり、単純なデータ処理を大量に行うことに特化しているので
その特性に合わないとCPUの性能に負けてしまいます。

今回はGPGPUについての説明のみでしたが、
次回は実際にGPGPUで動作するソフトウェアの紹介と
CPUとGPUでの実際の処理速度の違いと書いてみたいと思います。

トラックバック(0)

トラックバックURL: http://blog.promob.jp/mt/mt-tb.cgi/129

コメントする