多数の小さなコアで大量の並列計算を行う画像・AI向けプロセッサ
GPU(Graphics Processing Unit=画像処理装置)とは、小さなコアを数百〜数千個も並べて、大量の計算を一斉に行うプロセッサのことです。もともとは画面に絵を描く(グラフィックス)ための専用装置でした。
身近な例で考えると、大人数のアルバイト集団のイメージです。1人ひとりは単純な作業しかできませんが、何千人もいるので「同じ作業を大量にこなす」のは抜群に速い。たとえば「1万枚のはがきに同じスタンプを押す」なら、1人の達人より大勢のバイトの方が圧倒的に早く終わります。
上の図解の右側がGPUです。小さなコアがびっしり並んでいるのが特徴で、これが「同じ計算を一気に大量処理する」力の源です。
CPUとGPUは「コアを持つプロセッサ」という点では同じですが、設計思想が正反対です。CPUは少数の賢いコア、GPUは多数の単純なコアという違いを押さえましょう。
| 項目 | CPU | GPU |
|---|---|---|
| コアの数 | 少ない(数個〜数十個) | 非常に多い(数百〜数千個) |
| コア1個の性能 | 高い(複雑な処理が得意) | 低い(単純な計算向き) |
| 得意な処理 | 順番に行う複雑な処理 | 同じ計算の大量並列処理 |
| 用途 | OS・アプリ全般の制御 | 画像処理・AI・科学計算 |
たとえると、CPUは数人のベテラン職人(難しい仕事を順番に丁寧にこなす)、GPUは大量のアルバイト(単純作業を一斉に片付ける)です。どちらが優れているという話ではなく、仕事の種類によって使い分けるのがポイントです。実際のパソコンはCPUとGPUの両方を載せ、適材適所で役割分担しています。
GPUは「同じ計算を膨大な数だけ繰り返す」処理で本領を発揮します。代表的な用途は次の通りです。
・画像・映像処理:画面は無数の点(ピクセル)の集まりで、各点の色を同時に計算するのにGPUが最適。3Dゲームや動画編集で活躍します
・ディープラーニング(AI):AIの学習は大量の「行列の掛け算」の繰り返し。これは同じ計算の大量並列なので、GPUが圧倒的に速い
・科学計算・シミュレーション:天気予報や流体シミュレーションなど、大量のデータを並列計算する用途
近年は特にAIブームでGPUの重要性が急上昇しました。本来は画像用だったGPUを画像以外の汎用計算に使うことをGPGPU(General-Purpose computing on GPU)と呼びます。まとめると、GPUは並列計算が得意で、画像処理やAIで使われるのが特徴です。
GPUが並列処理に強い理由は、コアの数の多さにあります。CPUは仕事を1つずつ順番に処理しますが、GPUは大量のコアが同時に動いてそれぞれ別の仕事をこなします。コアの数だけ「同時に処理できる量」が増えるので、同じ計算を何万回も繰り返すような場面でとても速いのです。
ただし、GPUのコアは1つひとつの性能は低めです。難しい判断が必要な複雑な処理は苦手で、CPUが担当します。GPUが速いのは「単純な計算を大量に繰り返す」場面に限られます。
身近な例で考えると、100枚の絵に同じスタンプを押す作業を想像してください。器用な職人(CPU)が1枚ずつ丁寧に押すより、100人の人手(GPUのコア)が1枚ずつ同時に押す方がはるかに早く終わります。これが並列処理の力です。
実際のパソコンやサーバはCPUとGPUを両方搭載し、役割分担して動いています。CPUはOSやアプリ全体の司令塔として複雑な判断を担い、GPUは「大量の同じ計算」が発生したときにCPUから指示を受けて処理します。
なぜ役割分担するのかというと、どちらか一方では不十分だからです。CPUだけでは画像の全ピクセルを1つずつ計算するのに時間がかかりすぎます。GPUだけではOSの起動や複雑な判断ができません。それぞれの強みを活かして協力することで、高速かつ複雑な処理を実現しています。
以下に代表的な使い分けをまとめます。
| 場面 | 主に担当するもの |
|---|---|
| Webブラウザでページを開く | CPU(複雑な処理) |
| 3Dゲームの画面を描く | GPU(大量のピクセル計算) |
| AIで画像を認識する | GPU(大量の行列計算) |
| ファイルのコピー・移動 | CPU(命令の制御) |
| 動画のエンコード(圧縮) | GPU(大量の映像データ変換) |