1. 그래픽 프로세서 (GPU : Graphic Processor Unit), 그래픽 가속기
ㅇ 그래픽 연산을 전문적으로 담당하는 보조 프로세서로,
- 복잡한 그래픽 렌더링(Rendering) 작업을 CPU 대신 빠르게 수행하도록 설계됨
- 원래는, 비디오 카드에 장착되어, 2D/3D 그래픽, 이미지 처리, 비디오 재생 등을 담당했으나,
- 현재는, 범용 병렬 계산용 가속기(GPGPU: General-Purpose GPU)로 활용 범위가 크게 확장됨
2. 주요 목적
ㅇ CPU의 연산 부담을 줄이고 그래픽 처리 속도 향상
- 복잡한 수학적 계산(행렬, 벡터 연산 등)을 병렬로 처리
- 디스플레이에 표시할 픽셀 데이터(프레임)를 고속으로 연산,출력
ㅇ 프레임 버퍼 (Frame Buffer) 메모리와 밀접한 관계
- 프레임 버퍼란, 디스플레이의 각 화소(pixel)와 1:1로 대응되는 비디오 메모리 영역
- 이 영역의 데이터를 실시간으로 연산,갱신해야 하므로, 막대한 메모리 접근량과 연산량이 발생
- 따라서, GPU가 이 작업을 전담하여 처리 효율을 극대화함
3. 기술적 특징
ㅇ 대량 병렬 구조 (Massively Parallel Architecture)
- 수천 개의 작은 병렬 연산 코어(Streaming Processor, Shader Core) 로 구성되어,
- 동일한 명령을 다수의 데이터에 동시에 적용(SIMD 구조) 가능
- 이러한 병렬성 덕분에 영상 처리뿐 아니라 대규모 수치 계산에도 적합
ㅇ 병렬 프로그래밍 지원
- GPU 활용키 위해, 병렬 실행 가능한 코드 작성 필요
- 대표적 프로그래밍 언어/프레임워크
. CUDA (Compute Unified Device Architecture)
.. NVIDIA에서 개발한 GPU 전용 C언어 확장
.. NVIDIA GPU에서만 사용 가능.
. OpenCL (Open Computing Language)
.. 다양한 제조사의 GPU, CPU, FPGA 등에서 호환되는 플랫폼 독립적 표준
ㅇ 구조적 특징
- SIMT 구조, 고 대역폭 메모리, 파이프라인 처리이며,
CPU의 제어 중심 구조와 상호 보완적으로 작동함
4. 응용 분야 확장
ㅇ 그래픽을 넘어선 고성능 연산용 가속기
ㅇ 물리,화학 시뮬레이션, 기후 모델링, 분자 동역학 등 과학기술 계산
ㅇ 머신러닝,딥러닝 연산 가속 (例: 신경망의 행렬 곱셈 계산의 가속화)
ㅇ 슈퍼컴퓨터,데이터센터에서도 GPU가 주요 연산 자원으로 활용됨
- 例) NVIDIA A100, H100 등의 GPU는, 대규모 행렬/텐서 연산에 특화되어 있음