X

GPU (Graphic Processing Unit)

I. 영상 처리, GPU (Graphic Processing Unit)의 개념

  • 컴퓨터 모니터에 픽셀(화소)로 투영되는 그래픽 처리를 위해 부동소수점 연산 기반 병렬 처리 특화 처리 장치
  • 특히 인공지능(AI)에서 많은 수의 데이터 학습 시 성능 향상, 다중 코어 병렬 연산 환경이 필수적이므로 최근 GPU 활용 폭발적 증가

 

II. GPU의 구조/구성요소와 핵심 기술

가. 그래픽카드의 구조와 GPU의 구조/구성요소

그래픽카드
구조
GPU
구조
GPU
구성요소
SP – Streaming Processor
– GPU 기본 Unit 단위, 레지스터와 FP연산, Int연산 사용
SM – Streaming Multiprocessor
– 명령어 처리 단위, 명령어에 대한 Fetch/Decode와 처리
TPC – Texture/Processor Cluster
– 그래픽 처리 단위, SM 및 쉐이더, 텍스처 유닛 집합으로 구성
  • 연산 필요 데이터를 그래픽카드 메모리에 복사하고 GPU 연산 결과를 컴퓨터 메인메모리에 복사하여 그래픽 송출 등 처리

나. GPU의 핵심 기술

구분 핵심 기술 기능
그래픽
제어
렌더링 (Rendering) – 컴퓨터 프로그램을 사용하여 모델로부터 영상 생성
셰이딩 (Shading) – 빛의 거리와 각도에 따라 물체 표면의 조도 변화
블렌딩 (Blending) – 2개의 이미지 결합 표현, 투명 오브젝트 생성/제어
연산
제어
파이프라인 (Pipeline) – Instruction 처리 과정을 여러 단계로 세분화하여 병렬처리
부동소수점 연산 (FLOPS) – 소수점 미고정, 지수와 가수를 분리 표기하여 실수 표현
  • GPU와 CPU는 컴퓨터 데이터 처리 관점에서는 유사하나 세부적으로 사용 목적과 구조, 연산 방식 등 차이점 존재

 

III. GPU와 CPU의 차이점

비교 항목 GPU CPU
사용 목적 그래픽 처리 범용 계산 처리
코어 개수 저성능 코어 다수 탑재
(수백 ~ 수천)
고성능 코어 소수 탑재
(1 ~ 128)
연산 방식 부동 소수점 연산 고정/부동 소수점 연산
병렬 처리 병렬 처리에 최적화 직/병렬 처리 가능
병렬처리는 GPU보다 낮은 수준
프로그래밍 플랫폼 CUDA, OpenCL, OpenACC GCC, JAVA, Python
주요 제조사 NVIDIA Intel, AMD
  • 일반 연산을 그래픽 파이프라인에 연결하여 그래픽이 아닌 데이터에 스트림 프로세싱에 사용하는 GPGPU 다수 활용 추세

 

[참고]

  • 소프트웨어정책연구소(SPRi), “이슈리포트, AI 성능개선을 위한 클라우드 GPU 가상화 기술의 현황과 향후방향”, 2020. 04
Categories: CA/운영체제
도리: