CPU를 한번에 소규모의 사람들을 이동시키는 스포츠카에 비한다면, GPU는 한번에 훨씬 많은 수의 사람을 나를 수 있는 전철에 비유할 수 있겠다.
GPU는 3D그래픽렌더링, 비디오 인/디코딩, 이미지처리 등의 작업에 좋은 성능을 내는 것으로 알려져있는데,이는 병렬연산 처리와 관련이 있다. 그리고, 흔히 딥러닝 모델용 GPU를 고려할 때에, GPU Memory가 높은 것이 중요하다고 이야기하는데, 이것은 GPU Memory가 한번에 전송될 수 있는 정보/데이터의 양을 결정짓기 때문이다.
정리하자면 CPU는 일상적인 업무처리에 용이하며 상대적으로 적지만 강력한 코어로 한번에 하나의 작업을 처리한다(serial processing). GPU는 CPU보다 단순하지만 다수의 연산이 동시에 필요한 경우(parallel processing)에 효과적으로 사용된다.
심층신경망의 경우 수 많은 연산(행렬곱, 컨볼루션 등)이 동시에 이뤄져야하는 만큼, 훨씬 많은 수의 코어를 가진 GPU가 CPU보다 유리하다. 하지만 여전히 상대적으로 연산량이 적은 ML모델의 경우나 데이터전처, 피쳐가공, 하이퍼파라미터튜닝 등의 작업에서는 CPU도 많이 사용되고 있다.