GPUとは?CPUとの違いや構造について解説! - fabcross for エンジニア
ここでは、GPUについて簡単に解説する。GPUとはGraphics Processing Unitの略で、3D(3次元)グラフィックの画像処理などを行う際に必要な演算処理を行うプロセッサ(半導体チップ)のことである。以下、パソコンで使用されているコンピューターの制御や演算を行うプロセッサであるCPU(Central Processing Unit)との違いや構造について説明し、さらにGPUの活用分野についても述べる。
1. GPUとは?
GPUは、コンピューターゲームに代表されるリアルタイム画像処理に特化した演算装置、あるいはプロセッサのことである。例えば、3Dゲームでは精密な画像がモニター上に映し出されるが、この画像を実現するためには膨大な演算が必要となる。これを担当するのがGPUである。つまり定型的かつ膨大な演算処理を行うのに適したプロセッサである。これらの演算処理を行うために、プロセッサの中心的な部品であるコアを1つのプロセッサに数千個搭載しており、人海戦術により大量の処理を行うことができる工場のようなものである。
現在の高機能GPUは高速のビデオメモリ(VRAM)と接続され、頂点処理(ポリゴン(多角形)の頂点を移動させたり、行列演算させたりする処理)およびピクセル(画素)処理などの座標変換やグラフィックスシェーディング(陰影計算)に特化したプログラム可能な演算器(プログラマブルシェーダーユニット)を多数搭載している。
さらにハイパフォーマンスコンピューティング(HPC)の分野では、CPUよりも並列演算性能に優れたGPUのハードウェアを、より一般的な演算に活用するGPGPU(General-Purpose Computing on Graphics Processing Units) がさかんに行われるようになっており、そういった分野向けに映像出力端子を持たない専用製品や、深層学習ベースのAI(人工知能)向けに特化した演算器を搭載したハイエンド製品も現れている。
最近では、GPUの比較的単純な数値計算を多数のデータに並列に繰り返し適用できる構造を活用して、3Dグラフィックス以外の演算処理も行わせるGPGPUも数多く登場している。GPGPUを利用することにより、スーパーコンピューターに勝るとも劣らない性能を持つサーバーを、より安価に構築できるようにもなっている。
GPUとCPUの違いについて、1、プロセッサとしての役割、2、得意とする演算処理の種類、3、コア数、4、演算速度、5、適用方法または適用分野について比較を行いながら述べてみる。
GPUとは、3Dグラフィックスなどの画像描写を行う際に必要となる計算処理を行うプロセッサのことであり、一方CPUは、パソコンやサーバーの頭脳にあたるプロセッサのことであり、コンピューター全体の計算処理を行うものである。
GPUの特徴は、1、プロセッサとしての役割については、3Dグラフィックなどの画像描写に必要な演算処理を担当し、2、得意とする演算処理の種類については、並列的な演算処理であり、3、コア数については、数千個である。4、演算速度については、GPUはCPUの数倍~100倍以上の演算速度を実現することができる。5、適用方法または適用分野については、パソコンの画像処理をより精密に表示したり、3D映像などを滑らかに表示したりするのに役立つグラフィックボードに搭載される方法である。
また近年急速に需要が高まっているAIに必要とされるディープラーニング用に、従来のCPUの代わりにGPUが使用されるようになってきた。さらに画像認識の分野はAIにおけるディープラーニング技術の向上により、急速に発展しつつあり、この分野でもGPUを搭載したグラフィックボードが活用されている。同様にディープラーニングがパターン認識の諸問題に広く適用されるようになった 2010年前後からは,音声認識の分野における音響モデルの構築にディープラーニングの手法が用いられて認識精度が高まった。ここでもGPUを搭載したグラフィックボードが活用されている。
一方、CPUの特徴は、1、プロセッサとしての役割については、コンピューター全体の演算処理を担当し、プロセッサの命令および制御ならびに演算処理、具体的には、HDD(ハードディスクドライブ)や半導体メモリ、OS(Operating System)、プログラム、キーボード、マウスなどを含むコンピューター全体から送られてくる情報をまとめて処理する司令塔であり、2、得意とする演算処理の種類については、連続的な演算処理であり、HDDからプログラムデータを読み出し、半導体メモリにロードして実行するといった複雑な処理は、CPUの得意とするものである。3、コア数については、数個となっている。その他、4、演算速度については、GPUの数分の1から100分の1くらいである。5、適用方法または適用分野については、マザーボードに搭載され、それが搭載されている製品は、ディスクトップパソコン、ノートパソコン、スマートフォン、タブレット、フィーチャーフォン(ガラケー)、大型コンピューター、スーパーコンピューターがある。その他CPUは、自動車、医療機器、洗濯機、テレビ、冷蔵庫、産業用ロボット、ブルーレイレコーダー、カーナビ、デジタルカメラ、ゲーム機、電子レンジ等など白物家電を含めた、今や世の中のあらゆる製品に存在し、それらの命令、制御および演算を行っている。
2.GPUの構造(搭載方法)
GPUを搭載したボードの構造について説明する。GPUには単体型GPUと統合型GPUがあり、単体型GPU は、GPUをグラフィックボードに搭載するものである。グラフィックボードは画像専用のボードのことであり、CPUから命令を受けてモニター上に画像を描写するものである。統合型GPUは、CPUやその他メモリがマザーボード上に一体化したものと、GPUがCPUに内蔵されているCPU内蔵型GPUがある。なお、グラフィックボードを搭載した場合は、統合型GPUの機能が無効化される。
GPUが搭載されているグラフィックボードについて説明する。グラフィックボードはパソコンにおいてGPUが搭載された画像描写専用のボードのことで、CPUが搭載されたマザーボードから命令を受けてモニター上に画像の表示を行うものである。
グラフィックボードは、パソコンにとって必須なものではないが、これを搭載することで画像をより精細に表示したり、3D映像などを滑らかに表示したりすることができるようになる。グラフィックボードの中には、3D画像をより高速に描写する専用の回路を搭載したものもある。
グラフィックボードの搭載によるデメリットとしては、消費電力が増えることによるパソコンの運用コストが増加することがあげられる。GPUは発熱が高いため、ファンなどの冷却装置が取り付けられている。
またGPUを、マザーボードに搭載することもある。マザーボードのチップセットの中にGPUを内蔵したもので、「内蔵GPU(統合型GPU)」と呼ばれるものもある。
内蔵GPUを利用するメリットは、省電力/省スペースがあげられるが、一般的に画像処理能力はグラフィックボードに搭載した方がはるかに高いため、3Dグラフィックを使用する場合は、グラフィックボードの搭載が推奨される。
3.ディープラーニングで活用
膨大な演算処理を必要とする3Dグラフィックス用途に設計されたGPUは、その高い演算性が注目を集め、画像処理以外の用途に利用され始めてきた。その一つが、近年急速に需要が高まっているAIに必要とされるディープラーニングである。ディープラーニングとは、深い、すなわち、層の数が多いニューラルネットワークを用いた機械学習を意味し、深層学習と訳される。より広い意味では、局所的特徴から大域的で抽象度の高い特徴に至る階層構造をもった特徴表現(内部表現や潜在表現ともよばれる)をデータから学習することを可能にする、表現学習の一種である(出典:日本大百科全書)。このような大量のデータをもとに膨大な演算処理を行うディープラーニングでは、従来のCPUに代わりGPUを搭載したGPUサーバーが利用され始めている。
画像認識とは、画像から特徴をつかみ、対象物を識別するパターン認識技術の一つである。人間は写真などの画像を見ればどのような場所に何が写っているか、自身の経験から推測することができる。しかしながら、コンピューターには人間のような記憶の蓄積や経験はないため、何が写っているかを判断できない。そこで、画像認識ではコンピューターにデータベースから大量の画像を与え、対象物の特徴をコンピューターに自動的に「学習」してもらうことになる。すると、コンピューターは画像データから画像の特徴を「理解」し、同じ特徴を持った画像が与えられれば、それを「あるもの」だと推測することができる。近年この画像認識の分野はAIにおけるディープラーニング技術の向上により、急速に発展した。この画像認識の分野でもGPUを搭載したグラフィックボードが活用されている。
音声認識とは、マイクロホンで収音して得られた音声信号を解析することによって発話内容を出力する技術である。音声信号に含まれると考えられる音素の音響的特徴を記述した音響モデル,認識しようとする言語に含まれる単語がどのような音素から構成されるかを記述した発音辞書,単語がどのようにつながって文となるかを記述した言語モデルなどを総合して,入力として与えられる音声信号に対して最も確からしい単語列を推定し,出力するものである。ディープラーニングがパターン認識の諸問題に広く適用されるようになった2010年前後からは,音響モデルの構築にディープラーニングの手法が用いられて認識精度が高まった。ここでもGPUを搭載したグラフィックボードが活用されている。
4.主なGPUを比較!おすすめは?
画像処理を行うGPUは、大きく分けて以下の2種類がある。それらは、単体型GPUと統合型GPUである。単体型GPUはCPU統合型GPUと比較して性能が高い反面「発熱量が多い」「消費電力が多い」といった欠点もある。
統合型GPUには、「中枢チップであるマザーボードに内蔵されているタイプ」、「CPUに内蔵されているタイプ(CPU内蔵型GPU)」がある。インテル仕様ではCPUに内蔵されているのが主流である。統合型GPUの特徴は、「単体のものに比べて性能は低いが、低価格でコストパフォーマンスが良い」「発熱が少ない」「消費電力が少ない」といった点がある。
この単体型GPUと統合型GPUが、それぞれどういった分野や業務に向いているのかということについて見ていく。まず単体型GPUは、3Dグラフィックスなどの画像処理、動画などの映像処理および3Dグラフィックスなどを多用したゲームなど、高い画像、映像処理をすることが可能となっており、デザインなどクリエイティブな業務にも力を発揮している。また統合型GPUは、文書作成などの事務作業およびインターネットの閲覧やメール、プログラミングなどに適している。つまり、統合型GPUは、画面処理などに高い性能を必要としない事務作業などに向いている。また、消費電力が低くバッテリーの持ちが良くなるので、外出先でモバイル利用する場合にも向いていると言える。
まとめ
以上述べたようにGPUについて、CPUとの違いを明らかにした。GPUの1、主な役割としては、3Dグラフィックなどの画像描写に必要な演算処理であり、2、得意とする演算処理の種類は、並列的な演算処理であり、3、コア数は、数千個であり、その他、4、演算速度については、GPUは、CPUの数倍~100倍以上の演算速度を実現することができ、5、適用方法または適用分野については、パソコンの画像処理をより精密に表示したり、3D映像などを滑らかに表示したりするのに役立つグラフィックボードに搭載され、さらにAIに必要なディープラーニング、画像認識および音声認識用として急速に採用され始めている。このため、GPUの役割はますます重要になり、その適用範囲はますます拡大するものと考える。