GPU 병렬 실행 구조

명령 처리와 병렬 연산, 메모리 계층을 단순화한 GPU 개념 구조.

GPU는 많은 데이터에 같은 연산을 적용하는 처리량 중심 프로세서다. 명령을 실행하는 작은 Lane들을 묶어 Wavefront 또는 Warp 단위로 같은 명령을 실행한다. 같은 묶음 안에서 스레드가 서로 다른 분기로 갈리면 경로를 나눠 실행하므로 효율이 낮아진다.

셰이더 코어는 산술과 논리 연산을 맡고, 텍스처 유닛과 래스터라이저·ROP는 그래픽 파이프라인의 특정 단계를 처리한다. 레이 트레이싱과 행렬 연산용 고정 기능 블록은 반복되는 연산을 높은 효율로 수행한다. 제품마다 명칭과 한 블록이 처리하는 작업량이 달라 코어 개수만 직접 비교할 수 없다.

수천 개 스레드는 연산 하나의 지연시간을 줄이기보다, 한 묶음이 메모리를 기다릴 때 다른 묶음을 실행해 처리량을 유지한다. 프로그램이 충분한 병렬 작업을 만들고 메모리 접근을 연속적으로 배치해야 자원을 활용할 수 있다.

CPU와의 차이는 절대적인 역할 구분이 아니다. CPU는 복잡한 제어 흐름과 낮은 단일 스레드 지연에 강하고, GPU는 규칙적인 병렬 처리에 강하다. 실제 작업은 CPU가 명령과 데이터를 준비하고 GPU가 대량 연산을 수행하는 형태가 많다.

관련: VRAM과 GPU 메모리 계층, NPU와 AI 가속기