目次
GPUとは
GPUとは「Graphics Processing Unit」の略で、3Dグラフィックスなどの画像描写を行う際に必要となる計算処理を行う半導体チップ(プロセッサ)のことです。パソコンやサーバーに搭載される半導体チップとしては、それらの頭脳にあたるCPUの方が一般的ですね。これに対してGPUは、3Dグラフィックスなどの画像描写のために使われる、パソコンやサーバーのもう1つの優秀な頭脳といえばわかりやすいでしょうか。3Dグラフィックス描写に関する計算処理については、CPUがGPUに任せてしまうというわけです。
最近では、GPUの高い演算性能を活用して、3Dグラフィックス以外の計算処理も行わせるGPGPU(General-purpose computing on graphics processing units)も数多く登場しています。GPGPUを利用することにより、スーパーコンピューターに勝るとも劣らない性能を持つサーバーを、より安価に構築できるようにもなっています。
GPUとCPUの違い
CPUもGPUもパソコンやサーバーが機能するために必要な「計算処理を行う」という点は同じです。前項で「CPUはパソコンやサーバーにあたる頭脳。GPUは画像描写専門の頭脳」という話をしました。しかし、画像処理の専門家がそれ以外の計算処理もすることがある(GPGPU)わけです。
こうなってくると、GPUとCPUの違いが分かりづらくなってきますね。そこで、ここではその違いについて簡単な表にまとめて比較してみましょう。
項目 | CPU | GPU |
---|---|---|
主な役割 | コンピューター全体の計算処理 | 3Dグラフィックスなどの画像描写に必要な計算処理 |
得意とする計算処理の種類 | 連続的な計算処理 | 並列的な計算処理 |
コア数 | 数個 | 数千個 |
計算速度の差 | GPUはCPUの数倍~100倍以上の計算速度を実現することがある。 |
この表の内容について、もう少し具体的にイメージするために、3Dゲームを例に説明してみます。
たとえば3Dゲームでは、精細な映像が、流れるようにモニタ上に映し出されます。この処理には膨大な計算が必要となりますが、これを担当するのがGPUです。ただし、当然のことながら映像を映し出すだけでは3Dゲームは成り立ちません。ゲームデータをハードディスクから読み出すことや、ユーザーがキーボードやマウスで入力したコマンドをプログラムに従って処理することなど、さまざまな処理が必要となります。これら映像の描写以外を担当するのがCPUであり、映像描写の部分はCPUがGPUに任せているわけです。
GPUは映像を描写するように、定型的かつ膨大な計算処理を行うのに適したプロセッサです。一方のCPUは、HDDやメモリ、OS、プログラム、キーボード、マウスなどを含むコンピューター全体から送られている情報をまとめて処理する司令官にあたります。たとえばHDDからプログラムデータを読み出し、メモリへロードして実行するといった複雑な処理はCPUの方が得意なのです。
CPUが全体の処理を行う司令官だとすると、GPUは定型化された大量の処理をスピーディに行う工場のようにたとえることができます。そして、この両者の差をあらわすのが上記表のコア数です。
コアとは、その名の通りプロセッサの「コア(中心的)」な部品のことであり、コンピューターの動作の必要な計算を行います。上記表に記載した通り、CPUでは1つのプロセッサ上に複数個しか搭載していません。
パソコンやスマートフォンの仕様表に記載されたCPUの情報に、デュアルコア(コア数:2)・クアッドコア(コア数:4)・オクタコア(コア数:8)などの表記があるのを見かけたこともあるでしょう。CPUではそれらが並列的に計算処理を行うわけです。コア数が2個(デュアルコア)より、4個(クアッドコア)、8個(オクタコア)の方が性能は高いことになります。
一方のGPUでは、1つのプロセッサに数千個のコアを搭載しており、CPUとは桁違いです。司令塔であるCPUに対して、人海戦術で大量の処理を行う工場のような存在がGPUといえます。
GPUの構造と処理能力
GPUの概要やCPUの違いについては理解できたでしょうか。ここではGPUの仕様について、もう少し深く掘り下げてみていきましょう。パソコンでは、GPUをグラフィックボードという部品に搭載するものと、マザーボードに搭載するものとがあります。以下、それぞれの違いを解説します。
グラフィックボード
グラフィックボードとは、パソコンにおいてモニタへの表示を担当する部品(基盤)のことです。パソコンに装着して利用します。グラフィックボードにはGPUが搭載されています。グラフィックボードに対して、CPUやメモリなどの部品が搭載された部品をマザーボードと言い、マザーボード上のCPUからの命令を受け、GPUが画像の描写を行うわけです。
グラフィックボードは、パソコンにとって必須の部品ではありませんが、装着することで画像をより精細に表示したり、3D映像などを滑らかに表示したりするのに役立ちます。グラフィックボードの中には、3Dグラフィックスの描写をより高速に行う専用の回路を搭載したものもあります。たいして消費電力が増えることやパソコンのコストがアップするのが、グラフィックボードを使うデメリットです。
マザーボード
繰り返すように、マザーボードとはパソコンの頭脳であるCPUやメモリを搭載した部品(基盤)のことです。オンボードグラフィックといって、マザーボードに搭載されたチップセットの中にGPUを内蔵した、いわゆる「内蔵GPU」を利用するものもあります。この場合、グラフィックボードはパソコンに搭載されません。
内蔵GPU・オンボードグラフィックを利用するメリットとして、省電力・省スペースの実現があります。一方、画像処理の性能については、グラフィックボードの方がはるかに性能は高いです。3Dグラフィックスを利用する場合などは、グラフィックボードの搭載が推奨されます。
パソコンよりも高度な演算が可能なGPUサーバー
GPUに画像描写以外の計算処理をさせるGPGPUについては冒頭でも紹介しました。最近では、CPUの代わりにGPUを搭載し、その高い演算性能を活用するGPUサーバーが注目されています。GPUサーバーは、一般的なパソコンと異なり映像の出力機能を持ちません。映像描写以外の目的に特化されたサーバーなのです。
そしてGPUサーバーは、AI(人工知能)の分野でも注目されています。AIを急速に発達させた機械学習の1つ「ディープラーニング」用に適しているからです。
ディープラーニングでは、大量のデータを機械に読み込ませることで、機械が自らそのデータから規則性や特徴を導き出し学習します。この際、大量のデータを深い階層まで掘り下げ分析するため膨大な量の計算が必要です。しかし以前はコンピューターの処理能力が足らず、ディープラーニングのアイデアがあっても実現しませんでした。その点、CPUよりはるかに高い演算性能をもつGPUサーバーであれば、比較的安価にディープラーニングを実行できるわけです。
ただし、最近では月額8万円台から利用できるHPC(ハイパフォーマンス・コンピューティング)サービスも登場しているため、もう一つの選択肢として検討できます。
【5分で理解】HPCとは? HPCの全体像と現状、今後についてわかりやすく解説します
HPCとはハイパフォーマンス・コンピューティングの略で、膨大なデータに対し複雑な演算処理を高速に実行することを指します。特定の領域や分野を対象にしたハードウェアやアプリケーションのことではありません。HPCの市場規模は2020年の約380億米ドルに対し、2025年には500億米ドル近くまで成長すると予測されています、その背景には5G普及によるAI・IoT拡大に伴うデータ量の爆発的増加やDX(デ…
ディープラーニングで注目を浴びるGPU
膨大な計算処理を必要とする3Dグラフィックス用途に設計されたプロセッサ・GPUは、その高い演算性能から、画像処理以外の用途にも利用されるようになっています。その1つが、近年急速に需要が高まっているAIに必要となるディープラーニングです。大量のデータをもとに膨大な計算処理を行うディープラーニング用に、CPUの代わりにGPUを搭載した「GPUサーバー」が活用されています。
機械学習やディープラーニングの環境構築にチャレンジしてみよう
本連載は、「機械学習やディープラーニングをGPUで実行してみたいけど難しそう…」など導入にハードルを感じられている方に、コンテナを活用することで、環境構築に要する工数を圧倒的に削減し、即座に課題に取り組むことができるメリットを感じていただきます。そのために必要な知識や操作方法を、当社のGPUサーバーを使い解説していきます。
連載を読み終えるころには、TensorFlowやPyTorchなどのメジャーなフレームワークを使った演習ができるようになっているはずです。
NECのスーパーコンピューター「SX-Aurora TSUBASA」をクラウド環境でご利用できる業界随一のサービスです。
世界トップクラスのスペックで大規模データの高速処理を実現するベクトル型スーパーコンピューターを、月額定額料金のクラウドサービスとして利用できます。