CPU의 처리 과정은 다음과 같습니다. 처리할 일을 메모리(DRAM)에 불러 들어와서 어떤 식으로 처리할 것인지를 결정한 다음(Control Unit) 계산을 처리합니다(ALU, Arithmetic Logic Unit). 이 같은 특징 때문에 CPU는 복잡한 계산을 빠르게 수행할 수 있습니다.
잠깐만요
혹시 코어(core)라고 들어 봤나요?
CPU에서는 한 번에 하나의 일을 수행하기 때문에 동시에 수행할 수 있도록 명령어를 해석하고 계산을 수행하는 부분을 늘리기 시작했습니다. 이 부분이 바로 코어입니다. 그래서 코어가 1개이면 한 번에 하나의 계산을 수행하고, 2개이면 한 번에 두 개의 계산을 수행할 수 있습니다. 일반적으로(물론 항상 그렇지는 않지만) 코어 수가 많을수록 CPU 성능이 좋다고 말합니다.
딥러닝에서 사용하는 계산들은 기존에 CPU가 수행한 계산보다 훨씬 덜 복잡합니다. 따라서 ‘복잡한 계산을 빠르게 하는’ CPU의 장점이 빛을 발하지 못하게 되고, 그러다 보니 딥러닝 계산에 최적화된 처리 장치를 개발하게 됩니다. 복잡한 명령어를 해석하는 장치 부분을 줄이고, 실제 계산을 수행하는 부분을 많이 늘린 것이죠.
GPU는 그 이름에서도 알 수 있듯이 그래픽 작업을 처리하는 용도로 개발되었습니다. 픽셀로 이루어진 그래픽 작업을 수행할 때 계산이 빨라야 더 부드럽고 사실적인 모습을 보여줄 수 있기 때문에 간단하지만 많은 계산을 할 수 있도록 설계된 것입니다.