본문 바로가기

GPGPU/CUDA

GPU 하드웨어 특징

반응형

//안녕하세요 이제 날씨가 많이 쌀쌀하네요 모두 건강 조심하세요...

//글을 쓰면서 뭔가 포스팅의 디자인보다는 보기 좋은 포스팅을 하고 싶은데 그게 잘 안되네요...

//GPU의 하드웨어 특징에 내용을 많이 쓰려했는데 CUDA와 관련된거 같아서 내용을 약간 줄였습니다.

//포스팅 시작하겠습니다.

 

GPU를 이용한 병렬처리 구현 시 고려해야할 사항 중 하드웨어의 특징에 대해 포스팅을 하겠습니다.

 

제가 생각하기에는 가장 기본으로 생각해야되는 내용으로 GPU하드에어의 특징으로 CPU와의 차이점을 확인하고 해당 프로세스가 CPU로 구현할 것인지 GPU로 구현할 것인지를 판단하는것이 좋다고 생각합니다. (CPU와 GPU의 용도차이가 있으니까요!)

 

아래 사진은 많이들 보셨을 텐데 아래 사진에대해 분석해본다면 표와 같은 차이를 볼 수 있습니다.

 

CPU vs GPU 구조적 차이

CPU

- 직렬 처리 방식에 특화 

- 각종 제어 처리 기능이 많다.

- 제한된 ALU 개수

- 코어 클럭이 높음(작업을 빠르게 처리)

- Cache 메모리가 많음

 

GPU

- 병렬 처리 방식에 특화 

- 복잡한 구조로 구현되는 경우 성능이 떨어짐..

- ALU 개수 많음(매우 많으 스레드로 병렬처리 가능)

- 코어 클럭이 낮음
- 적은양의 Cache[메모리 접근으로 병목현상의 가능성이 높다]

 

 어떻게 생각해보면 너무 당연할 수 있는 내용으로 GPU를 역할이 그래픽 연산에 적합하게 만들어진 장치이기 때문에 위와 같은 차이가 보이네요.

 

 위 표는 두 개의 프로세서를 비교했을 때 장점은 파란색, 단점(?)은 빨간색으로 표시했습니다. 물론 장단점이라기 보다 두 프로세서의 용도에 따른 차이일 뿐이죠. 위 내용에 의하면 ALU(산술논리 연산장치)와 Cache 메모리의 차이가 가장 큰 것으로 보입니다.

 

 

 

 

 

다음은 제 개인용 PC의 그래픽카드(Gefor gtx 1505Ti) 사양과 CPU(Intel Core i5-7500) 사양은 위와 같습니다.

 

CPU의 코어는 4개, GPU 코어는 768개

CPU의 클럭은 3,400MHz, GPU 클럭은 1290MHz

 

두 프로세서의 코어와 클럭의 수치만 비교해보면 성능상으로 약 72배의 차이를 확인할 수 있습니다.

 

물론 실제 환경에서는 메모리, 메인보드 등의 물리적인 환경과 메모리 대역폭, 메모리 인터페이스, 병렬처리 과정에서 발생되는 병목현상 등에 따라서 차이가 있습니다.

 

CPU의 경우

4 * 3,400MHz = 13,600MHz

GPU의 경우

768 * 1290MHz = 990,720MHz 

 

 

반응형

'GPGPU > CUDA' 카테고리의 다른 글

CUDA 설치 및 설치 실패 대처  (0) 2022.02.18
CUDA Host<->Device cudaHostGetDevicePointer  (0) 2020.10.27
CUDA 처리 구조  (0) 2019.12.31
CUDA란?  (0) 2019.12.30
GPGPU란?  (0) 2019.11.08