用語解説【GPU】


1. GPUとは

【用語解説】GPU(Graphics Processing Unit)

読み方
ジーピーユー
英語
Graphics Processing Unit の略称

GPUとは、画面表示画像処理に特化した演算装置 のことです。
GPUの1例<NVIDIA公式ページより引用(データセンターGPU NVIDIA TESLA V100)>
NVIDIA公式ページ より引用> データセンターGPU NVIDIA TESLA V100


グラフィックス用の超並列プロセッサ

GPUの頭にGraphicsグラフィックス※1)と付いている通り、3Dグラフィックス※2などの画像処理が得意です。


グラフィックス:写真やイラストなどの視覚的要素を組み合わせて平面で表現したもの。
3Dグラフィックス:3次元の奥行感のある画像。例えばフライトシミュレータやF1ゲーム、車や建造物などの設計などに使われている。

3Dグラフィックイメージ

PCなどのディスプレイを表示するための処理を行ってくれる部品、というイメージでしょうか。

何でもできるわけではなく、処理できる命令は限られています。
ですがその特定の処理に限っては、「同時進行」で処理を行う(並列処理)ため高速なのです。



3Dオンラインゲームやディープラーニングに

GPUを搭載したPCは “ ゲーミングPC ” と呼ばれたりもしています。

ゲーム好きな方ならご存知かもしれないですが、3Dオンラインゲームをサクサクと快適に動かすには、この「GPU」が不可欠なんですね。

ゲーミングPCのイメージ
また、第3次AIブーム(2010年代~)以降には、ディープラーニングでも利用されています。

単純な計算を大量に処理する」という得意分野に向いていたのですね。


【GPU】オンラインゲームやDeepLearning



学生さんひらめき(男子)
元々グラフィックに特化した演算装置だったのが、ちょうど「ディープラーニング」にピッタリだったってわけね!



最近話題のVR(仮想現実※1)やAR(強化現実※2)にも使われているらしいわよ。

VR(仮想現実)イメージ
仮想現実Virtual Reality(バーチャルリアリティ)
現実ではないがあたかも現実のように感じさせる技術
(例:フライトシミュレータ-)
強化現実Augmented Reality(オーグメンテッドリアリティ)
現実世界に映像や音楽などの仮想情報を重ね合わせる技術。拡張現実とも呼ばれる。
(例:ポケモンGo)

学生さんひらめき(女子)






2. CPUとGPUの違い

ところで、GPUとCPUは実際どのように違うのでしょうか?


どちらも、同じプロセッサ(命令を実行する演算装置)ですが、「性質」や「目的」が違います。

CPUとGPUの違いを表現した、面白い動画

こちらの動画をご覧ください。

NVIDIA社の動画で、絵をひとつひとつ描く噴射器(=CPUに見立てる)に対して、大量に並んだ噴射器(=GPUに見立てる)では、「ボンッ」と一瞬にして絵を描いています。


NVIDIA YouTube公式ページ より引用>

NVIDIA:エヌビディアコーポレーション
アメリカ合衆国カリフォルニア州サンタクララにある半導体メーカー。
1999年に初めてGeForce256というグラフィックチップを発売。その際 “GPU”と名付け、用語が定着する元となった。


CPUとGPUの処理の違いが、なんとなくイメージできた気がしますね。



CPUは「タクシー」GPUは「バス」に例えられる

『「CPU」「GPU」「メモリ」-半導体技術の流れ』という書籍では、次のようにCPUとGPUを「タクシー」と「バス」で例えています。

 この違いは、自動車で言えば、「タクシー」と「バス」の違いで表現できます。

「命令の種類」を“目的地”に、「データ」を“乗る人”になぞらえれば、多様な目的地に小単位の人を運ぶことが得意なのが「タクシー」(CPU)です。
 一方の「バス」(GPU)は、あらかじめ決められた目的地に、大人数を運ぶことが得意です。

引用:「「CPU」「GPU」「メモリ」-半導体技術の流れ」2017年1月20日初版発行 / 株式会社工学社

CPUをタクシー、GPUをバスに例えた図




例えばディープラーニングって、何百万という「訓練データ」を「学習処理」しないといけないわよね。めちゃくちゃ多い計算量をGPUだと並列で処理できちゃうのね。

学生さんひらめき(女子)


学生さんひらめき(男子)
そうそう、例えばCPUだと1年かかる処理をGPUだと30日に短縮できる、ということなんだね。

それとね、現在は「GPGPU」っていうグラフィックスに限定しない用途のものもあるそうだよ。

General-purpose computing on graphics processing units: GPUによる汎用計算


グラフィックス以外の汎用的な処理もGPU側でやってもらうことで、「働いていないアイドルタイムを有効活用できるように」ということから出来たものなんだって。






3. JSDにも、AI用ゲーミングPC

昨年(2018年)、弊社にもGPUを搭載したゲーミングPCがやってきました。
主にディープラーニング用として活用されています。

AI(ディープラーニング)用ゲーミングPC
▲ 側面はガラス張りになっています。


当時のFB記事【ゲーミングPC? ~AI(ディープラーニング)用に~


AIで画像処理 】の記事もご覧ください!
 
↑「木材の年輪の向きを判定」する既存システムを、ディープラーニングで作っています。









Written in 2019.09



組み込みシステムに関する、ご要望やご質問などがございましたらお気軽にお聞かせください。
お問い合わせはこちら 






GPU関連の解説もぜひご覧ください
↓ ↓ ↓ 

「CPUにも触れています」▼
マイコンの用語解説へ >

「後からカスタマイズ可能なプログラム素子」▼
FPGAの用語解説へ >



< 参考文献 >
「GPUを支える技術 超並列ハードウェアの快進撃[技術基礎]」著者:Hisa Ando 2017年7月13日初版第一刷発行 / 株式会社技術評論社

「「CPU」「GPU」「メモリ」-半導体技術の流れ」著者:arutanga,勝田有一朗,nekosan,久我吉史,某吉,本間一 2017年1月20日初版発行 / 株式会社工学社


< 参考サイト >
NVIDIA 公式ページ

Ledge.ai(AI:人工知能特化型メディア)> ディープラーニングに必須のGPUとは?NVIDIAに直接聞いてきた (2016年)





用語解説一覧へ >