記事内に広告を含む場合があります
『楽天の三木谷会長が、プログラミング言語の学習を楽天社員に要求している。』というニュースがありました。
英語の次はプログラミング、楽天の三木谷会長が社員に要求←具体的にはCPUとGPUの違いを理解するか。自作PCを組む人が増えるんだろうな。https://t.co/wHm9p1yHnR#ぶっちゃけオレはCPUとGPUは知っているけど違いを説明できる自信がない
— ふじもん@健康アップデートから復活してみせる (@fujimotoyousuke) 2019年3月20日
具体的にニュースをチェックしたら、『コンピュータープログラムの仕組みや、CPU(中央演算処理装置)とGPU(画像処理半導体)の違いを理解するよう求める見通しだ。』ということらしいです。
英語の次は、プログラミングなんですね。
でも、CPUとGPUの違いを、ひとことで説明するのは難しいです。
そこで、プログラミング処理におけるCPUとGPUの違いについて確認しました。
CPUとは
CPU(Central Processing Unit)は、中央処理装置のことです。
CPUは、パソコンでいうと『脳』の部分にあたると表現されることが多く、どの処理をどの順番で、どのような手順で処理をするといった、複雑な判断をしている装置です。
つまりCPUは、パソコンで一番重要な部分といっても過言ではないところです。
CPUは、パソコンに必ずある装置です。
CPUで有名なのはインテル製(Core-i)ですが、最近はAMD製(Ryzen)も人気が出てきています。
GPUとは
GPU(Graphics Processing Unit)は、画像処理装置のことです。
GPUは、最新のパソコンに搭載されていることが多く、オンラインゲームや動画の書き出しなどで活躍する装置です。
つまりGPUは、大量処理が必要な場合に活躍する装置です。
ちょっと前の世代のパソコンには搭載されていません。
GPUは、仮想通貨ブームで、マイニングPCを作る人が多くなったため、一時的に市場価値が高騰しました。
GPUは、ディープラーニング需要やe-Sports需要で、いまだに市場では高い値段で取引されています。
GRUで有名なのは、NVIDIA製(GeForce)やAMD製(Radeon)です。
CPUとGPUの違い
プログラミングにおける『CPUとGPUの違い』を、Q&Aサイトの『teratail』で確認しました。
レンダリング(※画像処理のこと)をすべて CPU で行うことも可能ではありますが、最近のコンピューターグラフィックスでは何百万というポリゴン(※多角形データのこと)を扱うことが当たり前なので、並列に大量のデータを計算する必要がある場合、GPU が有利です。
そのため、最近ではコンピューターグラフィックスの他、Deep Learning の計算などにも GPU が使われるようになっています。
GPUは原理的に多量の単純処理が得意でしょう。CPUはGPUより複雑な処理を担えます。
ですので、基本的にはCPUで処理し、その内GPUに任せた方が高速化できるだろう処理をGPUに任せるのが妥当です。
つまり、プログラミング処理におけるCPUとGPUの違いは
GPUは、単純作業を大量に処理するのに優れている。
という認識であっています。
もうちょっとわかりやすくいうと、最近話題のディープラーニングのような処理は、CPUでも処理できるけど、GPUを使った方が高速に処理ができる。ということです。
CPU | GPU | |
---|---|---|
正式名称 | Central Processing Unit | Graphics Processing Unit |
日本語訳 | 中央処理装置 | 画像処理装置 |
得意処理 | 複雑な処理 | 大量な処理 |
補足すると、プログラミング処理において、CPUが得意なのは条件分岐処理(if文)で、GPUが得意なのは繰り返し処理(for文)という考え方であっています。
まとめ
楽天の三木谷社長が求めていると発表されたコメント『コンピュータープログラムの仕組みや、CPU(中央演算処理装置)とGPU(画像処理半導体)の違いを理解するよう求める見通しだ。』というのは、今回解説した内容を理解しておけば、おおよそ問題ないと思います。
GPUが、そもそもゲームを快適にやれるようにするための装置として、1999年にNVIDIAによって開発された装置で、オタクと呼ばれる人たちにしか注目されていませんでした。
NVIDIAと聞いてピンっとくる人もいると思いますが、NVIDIAはクルマの自動運転のリーダー的な企業で、ディープラーニング業界において注目されています。
ですから、『GPUがどんなものなのか』ということを、CPUと比較して理解しておくことが、とても重要なのかと思います。
参考になれば幸いです。