cpu와 gpu의 작동원리 차이점
cpu와 gpu의 작동원리는 어떻게 다르나요?!
왜 인공지능에는 gpu가 사용되는 건가요?!
안녕하세요. 투붕이입니다.
CPU 코어는 고성능 프로세스 기반으로 복잡한 연산을 빠르게 처리하도록 설계(대신 코어의 수는 많지 않음).
GPU 코어는 성능이 높지 않지만 아주 많은! 단순하지만 많은 연산(처리량을 많게 하는 쪽)에 특화된 설계입니다.
<GPU 설명>
x,y,높이 이 이미지 정보를 GPU에 입력을 하면 GPU는 해당 정보들에 대한 연산을 수행합니다.
이러한 연산이 수행된 후, 픽셀로 area가 나눠지고 나눠진 영역 조각에 색을 입혀지기 위한 이미지 정보를 계산, 명암 차이를
표현하기 위한 정보를 계산, Effect(그림자 등) 계산 후 최종 픽셀로 출력 되는 것입니다.
3D나 역동적인 영상에서는 정점의 변화하는 빈도수가 훨씬 많기 때문에, 실시간으로 각 행렬에 대한 계산을 수행하고 픽셀로 만들어줍니다.
코어 안에는 ALU가 있고 이러한 ALU를 늘리면 더 많은 계산을 할 수 있습니다. 많은 Fragment가 한번에 계산이 되기 때문입니다. 이 때 연산은 순차적인게 아니라 한번에 많이 처리하느냐가 문제입니다. 따라서 처리해야 할 데이터를 Thread로 묶 는 스킬이 생겼고, 많은 데이터를 GPU가 처리하는 방식인 행렬의 곱셈으로 좀더 빠르게 컴파일 가능해주지죠.
대표적인 GPU 제조사 Nvidia는 관련하여 'Cuda Core'라는 기술을 개발해서 좀 더 속드를 높였습니다. 쓰레드의 범위를 넓겨(쓰레드 : 처리되는 정보의 단위), 더 큰 쓰레드 덩이가 하나의 코어에 할당되도록 하여 코어의 부족함에 대한 문제를 어느정도 해소했습니다.
쓰레드가 많으면 대량의 데이터를 병렬처리하는데에 있어 큰 장점 이 있습니다.
* 도움이 되셨다면 좋아요, 추천 부탁드리겠습니다!
쉽게 비유를 하면 CPU는 박사 입니다.
그리고 GPU는 그 밑에 있는 여러 명의 대학생입니다.
간단한 연산은 CPU나 GPU나 모두 빠릅니다.
하지만 이 간단한 연산이 1000개 10000개가 된다면
똑똑한 박사가 1명이서 10000개를 계산하는 것보다, 여러 명의 대학생이 나눠서 계산하는 것이 더 빠릅니다.
인공지능의 계산이 대부분 간단한 연산이 아주 많은 경우가 많아 GPU가 주로 사용됩니다.