본문 바로가기

유용한 정보들

CPU, GPU, GPGPU의 차이

CPU란, GPU란, GPGPU란 무엇인가?

CPU GPU GPGPU

CPU(Central Processing Unit)

CPU(Central Processing Unit)은 컴퓨터의 중앙 처리 장치로 데이터를 고속으로 연산하고 처리하는 컴퓨터의 성능을 좌우하는 핵심 장치이며 컴퓨터를 사람에 비유하면 CPU는 두뇌의 역할을 합니다.

 

인텔(Intel), AMD가 대표적인 CPU 제조 회사이며 CPU의 성능은 클럭(Clock) 속도, 코어(Core)의 개수, 캐시(Cache) 메모리(Memory)의 크기, 스레드(Thead)의 개수, CPU 아키텍처(Architecture) 등에 따라서 지속적으로 발전되어 오고 있습니다.

 

코어의 개수에 따라서 다음과 같이 부르기도 합니다.

1개의 코어는 싱글 코어(Single Core), 2개는 듀얼 코어(Dual Core), 4개는 쿼드 코어(Quard Core), 6개는 헥사 코어(Hexa Core), 8개는 옥타 코어(Octa Core), 10개는 데카 코어(Deca Core), 12개는 도데카 코어(Dodeca Core), 16개는 헥사 데카 코어(Hexadeca Core)라고 합니다.

최근에는 64개의 코어를 탑재한 높은 사양의 컴퓨터도 출시되고 있습니다.

 

CPU는 코어의 개수만큼 동시에 프로그램을 실행하고 다양한 연산 등을 엄청난 속도로 실행할 수 있습니다.

 

GPU와의 비교를 위해 CPU를 단일 코어라고 가정할 때, CPU는 RAM의 데이터를 캐시 메모리로 이동하여 단일 연산 장치(ALU)에서 엄청나게 빠른 속도로 연산을 수행합니다.

 

CPU GPU 회사 로고

 

GPU(Graphics Processing Unit)

GPU(Graphics Processing Unit)는 그래픽 처리 장치로 영상이나 게임 등의 멀티미디어를 화면으로 출력하기 위한 그래픽 카드의 핵심 부품입니다.

범용 연산이 가능한 핵심 코어 몇 개만을 사용하는 CPU와 달리 GPU는 그래픽 처리를 최적화하기 위해 소수 점수 연산, 벡터 연산 위주의 경량 코어를 1,000~5,000개 동시 동작할 수 있도록 설계되어 있습니다.

 

CPU와 GPU의 이해를 위해 해상도가 가로 1920, 세로 1080, 주사율 60Hz의 모니터에 화면 출력을 생각해봅시다.

1초 동안 모니터 화면에 영상을 출력하기 위해서는 초당 약 1억 2천 번(1920 × 1080 × 60 = 124,416,000)의 연산이 필요하게 되는데 싱글 코어 CPU의 경우에는 차례대로 화면의 픽셀에 연산을 하기 때문에 아무리 빠른 성능의 CPU를 사용하여도 효율이 많이 떨어질 수밖에 없습니다. 반면, GPU는 수천 개의 코어가 동시 화면 출력만을 위한 전용 연산기로 연산 처리를 하기 때문에 코어 한 개는 초당 약 3만 개의 연산만 수행하면 됩니다.

 

 

GPU의 대표적인 제조회사는 엔비디아(NVIDIA)입니다.

엔비디아의 창업주 젠슨 황(Jensen Huang)은 CUP 제조사인 AMD에서 CPU를 설계하다가 퇴사 후 1999년에 세계 최초의 GPU인 "지포스 256" 출시합니다. 그 당시 GPU의 개념이 없었던 시장에서의 반응은 냉소적이었지만 젠슨 황의 예상은 적중하게 되고 고화질의 화면 출력을 위해서는 CUP만으로 랙이 없이 출력하는 것은 불가능하게 되었습니다.

 

특히 최근 들어 게임 마니아들은 최고 사양의 GPU를 탑재하여 게임 영상의 화질과 반응 속도를 최우선 가치로 생각할 정도입니다.

 

GPU의 명성이 한층 높아진 것은 컴퓨터 비전 분야의 권위 있는 대회로 100만 개의 이미지를 인식하여 정확하게 분류하는 것을 겨루는 이미지 넷(ImageNet)이라는 대회에서의 획기적인 사건이 있었습니다.

2012년 토론토 대학의 알렉스 크리 제브 스키(Alex Krizhevsky)가 딥 러닝과 GUP를 이용하여 이전 대회까지의 우승팀 수준이 약 70% 대의 정확도를 84.7%의 정확도로 대회 우승하면서 CPU만으로 설계하던 도전자들이 이후 대회에서는 대부분 GPU를 채택하여 설계하는 계기가 되었습니다.

 

알렉스가 대회에서 우승을 할 수 있었던 핵심은 딥 러닝에서 요구되는 엄청난 규모의 연산을 빠르고 정확하게 처리하기 위해 병렬 컴퓨팅에 유리한 GPU를 활용하였기 때문입니다.

 

우리가 잘 알고 있는 알파고의 개발 총책임자인 데이비드 실버 교수는 '알파고의 브레인은 100개가 넘는 GPU'라고 말할 정도로 알파고에 있어서 GPU의 역할은 절대적이라 할 수 있습니다.

 

GPGPU(General-Purpose computing on Graphics Processing Unit)

그래픽 처리를 위한 보조 장치였던 GPU를 보완하여 컴퓨터의 중앙처리 장치인 CPU를 대신하여 모든 데이터 연산 및 처리를 하는 GPU 상의 범용 계산 장치입니다.

 

현재는 아주 제한적이지만 컴퓨터 아키텍처를 변형하여 데이터에 스트림 프로세싱을 이용하여 고정도 연산을 그래픽 파이프라인에 연결 방식으로 CPU의 역할을 대신하는 방법이 지속적으로 연구 개발 중입니다.