CPUとGPUのコンピューターでの役割
まず、CPUはCentral Processing Unit、GPUはGraphics Processing Unitの略です。
CPUとGPUはコンピューター上の演算や処理をする役割を担っています。
つまりは、パソコンの頭脳と言えるでしょう!
もっというと、CPUは汎用的な頭脳で、GPUは画像処理を専門とした頭脳ってイメージです。
ではもう少し深堀りしてみます。
CPU・GPUの特徴
特徴を以下にまとめました。
種類 | 特徴 |
---|---|
CPU | ・様々な種類のタスクを順番に処理する事が得意 ・コア数は一般的に2から8 ・一般的なコンピューターに使われている |
GPU | ・ゲームやグラフィックなどの画像処理などの演算を行う事が得意 ・コア数は数千個で、1度に処理する処理の数が多く、同一の処理の並行処理に優れる ・ディープラーニングの処理にも向いている |
ここで「画像処理以外」の時は何を使おうか迷うかもしれません。
それがGPGPUと呼ばれる技術となります。
GPGPU
Graphics Processing Units computingの略で、汎用目的での GPU演算処理という意味です。
画像処理以外の目的に使われるGPUといったイメージです。
このGPGPUはNVIDIA社が開発するGPGPU専用の「CUDA(クーダ)」という統合開発環境があります。
CUDAはC言語独自に拡張しているため、C言語のプログラミング経験であれば扱いやすくなってます。
ディープラーニングでは、行列やベクトル計算が主ですので、ディープラーニング領域の処理計算においてはGPGPUは必要な技術になってます。
その他(TPU)
その他の知識として、Tensor Processing Unitの略で、Google社の自社で開発した「TPU」という技術があります。
TPUは行列の演算を効率よく行うことに特化おり、ディープラーニングのように同じような行列計算を何度も繰り返すモデルに特に効果を発揮してくれます。
まとめ
今回はCPU、GPU、GPGPU及びTPUが何かを勉強しました。
ざっくりですが、以下のようなイメージになりました。
- CPUは様々な処理がある場合
- GPUは画像処理かつ大規模な並行処理が必要な場合
- GPGPUは画像以外の大規模な並行処理が必要な場合
ぜひ機械学習の知識が増えれば嬉しいです。
もっと、勉強したいと思った方はプログラミングを通して、機械学習を理解するといいと思います(^ ^)