CPUとは
Central Processing Unitの略でコンピュータ内で演算や制御を行う。
連続的な処理に向いている。
GPUとは
Graphics Processing Unitの略。言葉自体はNVIDIAが作った。
単純な処理に特化した装置で高速なグラフィック処理が主な用途。
マルチコア
従来は一つのプロセッサ内に、中核となる処理ユニット(コア)を一つ置くのが一般的だったが、最近は高性能化、省電力化によって複数のコアを配置して並列に処理を進める手法ができてきた。CPUのコアは多くても数十ぐらい。GPUの場合コアの数は数千。
CPUとGPUの違い
複雑な逐次処理用に最適化された2~3個のコアから成るCPUに対して、GPUは複数のタスクに同時に対応できるよう設計された何千ものより小さく、より効率的なコアで構成されてる。
下記の表現がよくわかりやすい。
- GPU 『for』が得意
- CPU 『if~else~』が得意
GPUがディープラーニングに向いている理由
ディープラーニングの学習は、、重みの行列に別の行列をかけて足し合わせる「行列の積和演算」という処理。この処理が三次元のグラフィックスのポリゴンを移動させたり回転させたりするときの行列演算(グラフィック描写)と同じなため。
そのため、ディープラーニングの学習については、GPUはCPUの何十倍、場合によっては何百倍もの速度で計算が完了する、GPUにむいているタスクである。