dddwsd.log
로그인
dddwsd.log
로그인
CPU와 GPU의 차이.
dddwsd
·
2022년 4월 22일
팔로우
0
CS
0
CPU
CPU = Central Processing Unit
입출력장치, 기억장치, 연산장치컴퓨터를 비롯한 컴퓨터 리소스를 이용하는 최상위 계층 장치인 '중앙처리장치'로써, 컴퓨터의 두뇌같은 역할을 한다.
다양한 환경에서 작업을 빠르게 수행하기 위해 ALU의 구조가 복잡하고 명령어 하나로 처리할 수 있는 기능도 많으며 각종 제어 처리를 위한 부분이 많다.
데이터 처리와 더불어 프로그램에서 분석한 알고리즘에 따라 다음 행동을 결정하고 멀티태스킹을 위해 나눈 작업들에 우선순위를 지정하고 전환하며 가상 메모리를 관리하는 등 컴퓨터를 지휘하는 역할을 수행한다.
컴퓨터 프로그램은 대부분 복잡한 순서를 가진 알고리즘을 가지고 작동하므로 CPU가 적합하다.
GPU
GPU = Graphics Processing Unit
특화된 연산을 빠르게 처리하기 위해 단순한 ALU를 다수 갖고 있는 구조이다.
GPU 단독으로는 아무것도 처리할 수 없으며, GPU를 제어하는건 CPU이다.
GPU는 픽셀로 이루어진 영상을 처리하는 용도로 탄생했기 때문에 CPU에 비해 반복적이고 비슷한, 대량의 연산을 수행하며 이를 parallel하게 나누어 처리하기 때문에 속도가 CPU 대비 매우 빠르다.
영상, 렌더링을 비롯한 그래픽 작업의 경우 픽셀 하나하나에 대해 연산을 하기 때문에 연산능력이 비교적 떨어지는 CPU가 GPU로 데이터를 보내 처리한다.
CPU GPU 차이
CPU는 직렬처리에 최적화된 소수의 코어로 구성된다.
GPU는 병렬처리에 최적화된 수천개의 보다 작고 효율적인 코어로 구성된다.
CPU는 GPU보다 더 적은 코어를 갖고 있지만 각각의 코어가 GPU보다 강력한 컴퓨팅 파워를 갖고 있어서 sequentiual task에 적합하다
GPU는 CPU보다 코어수는 많지만 각각의 코어가 GPU보다 더 성능이 낮기 때문에 parallel task에 더 강점이 있다.
현재 PC에서 사용되는 CPU의 코어는 4~10개 정도이며 hyperthreading을 통해 thread를 2배 정도 늘릴 수 있다.
ex) 8 core 16 thread는 16개의 task를 병렬적으로 수행할 수 있다.
NVIDIA의 Tital XP GPU의 경우 3840 코어를 갖고 있어서 CPU보다 약 200배 많다.
따라서 application의 연산집약적인 부분을 GPU로 넘기고 나머지 코드만을 CPU에서 처리하는 GPU 가속 컴퓨팅은 딥러닝, 머신러닝 영역에서 주로 사용된다.
dddwsd
Github - https://github.com/dddwsd
팔로우
이전 포스트
Hadoop - Hive 정리
다음 포스트
Flask API
0개의 댓글
댓글 작성