GPUコンピューティング時代の幕開け

GPUは画像処理だけでなく(GPGPU:General-purpose computing on GPU)と呼ばれる汎用的な数値計算の用途に使用されるようになってきており、GPGPUが個人のレベルでも使用可能になれば、コンピュータの使用方法が一変する可能性があると考える。

GPUが品薄に!

パソコンのパーツ市場では、GPUの品薄状態が続いている。原因は、GPGPUの一つの利用形態である仮想通貨のマイニングによる需要増であるという。本来は、高速な画像処理を行うために使用するものであるが、品薄とともに価格が高騰し購入しづらくなっている。

なぜGPUなのか?

なぜ、GPUが話題になっているのか。それは、CPUが全く太刀打ち出来ないほどのパフォーマンスをGPUが発揮するケースがあるからである。CPUとGPUでは、コア数が圧倒的に異なる。例えば、デスクトップ用のCPUでは4コアがメジャーであるが、GPUでは中堅のモデルでもコア数が1000個を超え、並列計算を行うようなケースでは、GPUはCPUに対して圧倒的なパフォーマンスを発揮する。ただし、GPUに搭載されているコアは、CPUとは異なり計算処理に特化したものであり、複雑な分岐処理を行うような場合は、CPUに対するアドバンテージを発揮できない。

GPUによる処理方式

GPUによる処理のイメージはどのようなものであるのか。現時点では、多量の計算処理をGPUで行い、その結果をCPUでまとめるというのが基本的なロジックとなる。このイメージが大切で、このイメージ当てはまる処理であれば、GPUを効率よく活用できる。GPUで主たる計算処理を行うことにより、CPUの処理負荷が軽くなるケースもあるが、GPUのコアが一度に並列で稼働する分、多量の電力を必要とする。

GPUの選択

GPUは、NVIDIAとAMDで寡占状態となっている。この2大メーカをウォッチしていれば動向が把握できる。GPUで並列計算を行うためのライブラリやツールがGPUメーカより提供されており、NVIDIAを使用する場合はCUDA、AMDの場合はOpenCLを使用するのが一般的である。GPUの選択としては、GPUの性能や価格もあるが、使用するプロダクトがCUDAを利用するかOpenCLを利用するかで選択が必要になるケースもある。

GPUコンピューティングの活用例

GPUコンピューティングの活用例として、AI(機械学習、ディープラーニング)の分野でTensor Flow、chainer PyTorch等がある。機械学習、ディープラーニングでは行列計算が必要となるため、GPUが活躍する。その他、数値計算を扱う、MATLABやMathematicaは、GPUに対応しており、GPU対応した関数などを使用すると高速に計算が行える。残念ながらフリーソフトウェアでは、まだ対応しているソフトウェアが少ないようである。これからは、仮想通貨のマイニングだけでなく、AI(機械学習)とよばれる分野でもGPUが活躍するようになりそうである。忘れてはならないのは、個人での利用ではないが、スーパコンピュータではGPUが積極的に活用されている。

GPUコンピューティングのはじめ方

GPUコンピューティングを始めるためには、当然であるがGPUを搭載できるパソコンが必要となる。現在、普及したノートパソコンやコンパクトサイズのパソコンでは、グラフィックボードを増設できないケースが多く、GPUを使用することが難しい。GPU搭載済みのノートパソコンや、パソコンにグラフィックボードをPCIスロットを使用して搭載できれば、グラフィックボードメーカあるいはGPUメーカ提供のGPGPU用のソフトウェア(ドライバーやツール等)と、目的の処理を行うGPUに対応したソフトウェアをインストールすれば、GPUコンピューティングを開始することができる。

GPUコンピューティングの課題

GPUコンピューティングの課題を整理する。GPUコンピューティングが広く使用されるようになるには、以下の課題が解決されてくる必要がある。

  • 気軽に使用できるソフトウェアで、GPUコンピューティングに対応しているソフトウェアが少ない。
  • 性能のよいグラフィックボードは、マイニングによる需要増により、必ずしも安価ではない。
  • 24時間365日稼働など、常時使用する場合は、多量の電力を消費する。
  • 普及してきたノートパソコンやコンパクトタイプのPCは、グラフィックボードの接続が不可であるか困難なケースが多く、GPUコンピューティングに適さない。

総括

GPUの進歩により、GPUコンピューティングが個人でも利用可能な時代になりつつある。コンピュータは、GPUを使用することで、Webサイト閲覧やメール送受信、文書作成という用途だけでなく、AIや様々な判断に使用するデータ分析などの分野に使用されるようになってくる。ノートパソコンやスマートフォンの普及で下火になりつつあるが、グラフィックボードが搭載できるパソコンを使用すれば、手軽にGPUコンピューティングを始めることができる。

参考

GPUメーカー

GPU対応のソフトウェア

本サイトの関連記事