티스토리 뷰
중앙 처리 장치(CPU, Central Processing Unit)
그래픽 처리 장치(GPU, Grapical Processing Unit)
CPU보다 GPU를 사용하는 이유는 무엇일까? CPU는 컴퓨터에서 가장 중요한 부분이다.
말그대로 컴퓨터의 두뇌에 해당하며, CPU가 ram 메모리와 작업하여 데이터를 이동한다.
CPU가 우리의 코드를 실행시키고 소프트웨어를 실행한다. CPU는 디바이스들과(하드드라이브, 키보드 등) 작업을 하기도 한다. 즉, CPU는 컴퓨터 및 운영 체제에 필요한 명령과 처리를 실행하므로 모든 현대 컴퓨팅 시스템에 필수적인 요소다. CPU는 한번에 하나의 명령만 처리할 수 있는데 이것은 이미 엄청난 빠른 속도이다. 그러나 우리는 항상 더 빠른 속도를 원한다.
그래서 CPU가 멀티 태스킹을 할 수 있도록 멀티코어 CPU가 개발되었다. 코어는 프로그램 실행과 같은 연산 작업을 수행하는데 멀티코어 cpu의 경우 컴퓨터의 두뇌는 다른 하위 두뇌로 나뉘게 된다. 이 덕분에 멀티 태스킹이 가능하게 되는 것이다.
CPU 코어는 더 많은 작업을 수행할 수 있는 더 큰 명령집합을 가지고 있지만 에너지 소모량 엄청나고 작은 범위의 연산만 할 수 있도록 설계되어 있는 반면 GPU는 많은 작업을 동시에 병렬 작업하는 것에 최적화 되어있다. 그리고 GPU는 화면의 모든 픽셀에 대해 동시에 수행되어야 하는 그래픽 관련 연산 수행을 한다.
요약하자면, CPU는 어려운 문제를 푸는데 특화된 소수 정예 싱글코어, 그리고 GPU는 쉬운 문제를 동시에 푸는 데 특화된 인해전술 멀티코어라고 볼 수 있다. 기존의 CPU가 순차적인 처리 방식에 특화되어 있었다면, GPU는 병렬적인처리 방식에 특화되어 있으며 이로 인해 반복적이고 비슷한 대량의 연산을 수행하는 데에 있어서 속도가 빠르다.
결론적으로, 머신러닝 모델 훈련은 병렬로 수행할 수 있는 작업이기 때문에 위와 같은 특성을 가진 GPU는 완벽한 작업도구라고 볼 수 있다. 따라서 CPU를 사용했을 때보다 더 빠른 속도로 훈련이 가능하다.
'Computer Science > 프로그래밍' 카테고리의 다른 글
VSCODE 초기화 후 재설치 (for Windows) (0) | 2022.08.22 |
---|---|
라이브러리와 프레임워크 차이점 (0) | 2022.06.30 |