GPU — 개념, 구조 및 작동 원리

저자: IT Sectr 게시일: 2026-06-10 읽는 시간: 9 분

GPU(Graphics Processing Unit)는 그래픽 데이터의 병렬 처리를 위한 특수 프로세서로, 프레임당 픽셀과 정점에 대해 수백만 번의 계산을 수행합니다. 낮은 대기 시간의 순차 작업에 최적화된 CPU와 달리, GPU는 대규모 수학 연산을 위해 수천 개의 저전력 코어를 포함합니다. NVIDIA Developer Blog(2025)에 따르면, 최신 모바일 GPU는 최대 1024개의 코어를 포함하고 컴퓨트 워크로드에서 2TFLOPS의 성능을 달성합니다. 개발자는 렌더링, 후처리 및 기기 내 머신러닝을 위해 GPU를 통합합니다.

핵심 요점

  • GPU는 그래픽 및 계산의 병렬 처리를 위해 수천 개의 코어를 갖춘 특수 프로세서입니다.
  • GPU 아키텍처는 SIMD 파이프라인을 기반으로 합니다. 하나의 명령이 여러 데이터 요소에서 동시에 실행됩니다.
  • 모바일 기기의 GPU는 SoC에 통합되어 Unified Memory 아키텍처를 통해 CPU와 메모리를 공유합니다.
  • GPU 컴퓨팅(GPGPU)은 그래픽이 아닌 작업(ML, 암호화, 신호 처리)에 그래픽 프로세서를 사용합니다.
  • GPU 액세스 API(모바일 플랫폼): Vulkan, Metal, OpenGL ES 및 브라우저용 WebGL.

GPU란?

GPU(Graphics Processing Unit)는 대규모 병렬 처리를 위해 설계된 특수 마이크로칩입니다. 최초의 GPU는 1990년대 후반 데스크톱 PC용 3D 그래픽 가속기로 등장했습니다. 그 이후로 아키텍처는 고정 파이프라인에서 프로그래머블 셰이더, 범용 컴퓨트 유닛으로 진화했습니다.

GPU의 주요 목적은 래스터화입니다. 기하학적 데이터(정점, 삼각형)를 화면의 픽셀로 변환합니다. 이 과정에는 정점 변환, 보이지 않는 표면 제거, 텍스처링, 색상 혼합이 포함됩니다. 이러한 모든 작업은 수천 개의 요소에 대해 병렬로 동시에 수행됩니다.

Jon Peddie Research(2025)에 따르면, 모바일 GPU 시장은 전체 그래픽 프로세서 볼륨의 58%를 차지하며 PC 및 서버용 개별 솔루션을 앞질렀습니다. 모든 스마트폰에는 CPU, DSP, 뉴럴 프로세서와 함께 System-on-Chip(SoC)에 통합된 최소 하나의 GPU가 포함되어 있습니다.

최신 GPU는 통합형(SoC에 내장, CPU와 메모리 공유)과 개별형(자체 비디오 메모리를 가진 별도 보드)의 두 가지 유형으로 나뉩니다. 모바일 개발에서는 Qualcomm Adreno, ARM Mali, Apple GPU, Imagination PowerVR과 같은 통합형 GPU만 사용됩니다.

GPU 개발의 역사

GPU의 진화는 고정 파이프라인(1999~2006), 통합 셰이더(2006~2016), 프로그래머블 컴퓨트 코어(2016~현재)의 세 단계를 거쳤습니다. 첫 번째 단계는 변환, 조명, 텍스처링이라는 엄격한 작업 순서를 정의했습니다. 개발자는 파이프라인에 개입할 수 없었습니다.

통합 셰이더의 등장으로 GPU는 HLSL 또는 GLSL로 작성된 임의의 프로그램(셰이더)을 실행할 수 있게 되었습니다. 이는 그래픽이 아닌 작업에 GPU를 사용하는 GPGPU의 길을 열었습니다. 세 번째 단계는 머신러닝용 텐서 코어와 실시간 레이 트레이싱을 추가했습니다.

모바일 GPU의 주요 이정표는 Tile-Based Deferred Rendering(TBDR)의 도입이었습니다. 프레임을 타일(16x16 픽셀)로 분할하고 빠른 온칩 메모리에서 처리하는 아키텍처입니다. 이는 데스크톱 GPU의 Immediate Mode Rendering과 비교하여 전력 소비를 3~5배 줄입니다.

GPU 아키텍처

GPU 아키텍처는 CPU와 근본적으로 다릅니다. 몇 개의 강력한 코어와 큰 캐시 대신, GPU에는 SIMD(Single Instruction, Multiple Data)에 최적화된 수백 또는 수천 개의 단순 컴퓨트 유닛이 포함됩니다. 하나의 명령이 여러 데이터 요소에서 실행됩니다.

GPU의 기본 구성 요소는 Shader Core(NVIDIA 용어) 또는 Execution Unit(Intel)입니다. 여러 블록이 Compute Units(AMD) 또는 Streaming Multiprocessors(NVIDIA)로 결합됩니다. 각 블록에는 연산용 ALU, 레지스터 파일, 워프 스케줄러(스레드 그룹)가 포함됩니다.

모바일 GPU는 아키텍처적으로 데스크톱 GPU와 다릅니다. Qualcomm Adreno는 프로그래머블 셰이더 프로세서와 전용 래스터화 블록을 갖춘 아키텍처를 사용합니다. ARM Mali는 Bifrost 또는 Valhall(쿼텟 워프 처리를 갖춘 아키텍처)을 기반으로 합니다. Apple GPU는 2017년부터 Metal 및 통합 메모리를 지원하는 자체 설계를 사용합니다.

제조사GPU 시리즈아키텍처API
QualcommAdreno 6xx/7xx/8xx프로그래머블 셰이더 프로세서Vulkan, OpenGL ES
ARMMali-G 시리즈Bifrost / ValhallVulkan, OpenGL ES
AppleApple GPU(A13~A18)커스텀 설계Metal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

모바일 GPU의 핵심 기능은 Unified Memory Architecture(UMA)입니다. GPU와 CPU는 전용 비디오 메모리 없이 동일한 RAM을 공유합니다. 이는 데이터 교환의 대기 시간을 줄이고 프로그래밍을 단순화하지만, 집중적인 계산 시 대역폭을 제한합니다.

GPU vs CPU: 주요 차이점

CPU는 최소 대기 시간의 순차 작업을 위해 설계되었습니다. 큰 L1/L2/L3 캐시, 분기 예측기, 추측 실행을 갖춘 4~12개의 강력한 코어를 포함합니다. 반면 GPU는 처리량을 위해 대기 시간을 희생합니다. 수천 개의 코어가 높은 대기 시간으로 데이터를 처리하지만 엄청난 전체 성능을 제공합니다.

차이는 FLOPS(초당 부동 소수점 연산)에서 분명합니다. 2025년 최고급 모바일 SoC: CPU — 200GFLOPS, GPU — 2400GFLOPS. GPU는 병렬 처리가 가능한 작업에서 CPU보다 12배 우수한 성능을 보입니다. 그러나 순차 알고리즘에서는 스레드 관리 오버헤드가 낮은 CPU가 더 빠릅니다.

실제로 개발자는 애플리케이션 로직, UI, I/O에 CPU를 사용하고, 렌더링, 이미지 처리, 물리 시뮬레이션, 신경망 추론에 GPU를 사용합니다. Google Android Performance Patterns(2025)에 따르면, 모바일 애플리케이션의 최적 GPU 부하는 60~80%이며, 과부하는 스로틀링과 과열로 이어집니다.

cpp
// CPU — sequential processing
for (int i = 0; i < N; i++) {
    result[i] = data[i] * 2.0f;
}

// GPU — parallel processing (GLSL compute shader)
#version 300 es
layout(local_size_x = 256) in;
void main() {
    uint idx = gl_GlobalInvocationID.x;
    result[idx] = data[idx] * 2.0f;
}

CPU 코드는 각 요소에 대해 순차적으로 곱셈을 수행합니다. GPU 버전은 256개의 스레드를 병렬로 실행하며, 각 스레드는 자신의 요소를 곱합니다. N=100만인 경우, GPU는 단일 CPU 코어보다 100~1000배 더 빠르게 작업을 완료합니다.

모바일 기기의 GPU

모바일 GPU는 엄격한 열 및 전력 제약 조건에서 작동합니다. 일반적인 모바일 GPU의 TDP는 2~8W이며, 데스크톱의 150~450W와 대조적입니다. 이는 최고 성능보다는 에너지 효율성에 중점을 둔 특별한 아키텍처를 필요로 합니다.

주요 절전 기술은 Tile-Based Rendering입니다. 프레임은 16x16 또는 32x32 픽셀 타일로 분할됩니다. 각 타일은 빠른 SRAM(Tile Memory)에서 완전히 처리된 후 외부 DRAM에 기록됩니다. 이는 Immediate Mode와 비교하여 메모리 액세스를 4~10배 줄입니다.

Qualcomm Adreno는 가장 널리 사용되는 모바일 GPU입니다. Adreno 750(Snapdragon 8 Gen 3)은 공유 레지스터 풀을 갖춘 12개의 셰이더 프로세서를 포함합니다. Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 및 하드웨어 레이 트레이싱을 지원합니다. Qualcomm(2025)에 따르면, Adreno는 전력 소비를 유지하면서 세대별로 45%의 성능 향상을 제공합니다.

ARM Mali는 Android 기기에서 두 번째로 인기 있는 GPU입니다. Mali-G720은 5세대 Valhall 아키텍처를 기반으로 하며 Variable Rate Shading 및 ASTC HDR을 지원합니다. Mali의 특징은 쿼텟 처리입니다. 더 나은 ALU 활용을 위해 4개의 스레드가 하나의 워프로 결합됩니다.

Apple GPU는 Metal API 전용으로 설계되었습니다. A13 Bionic 이후, Apple은 Metal 3, 레이 트레이싱, 메시 셰이더를 지원하는 자체 GPU 설계를 사용합니다. Apple GPU 아키텍처는 M4 Ultra에서 최대 800GB/s의 대역폭을 갖춘 Unified Memory를 특징으로 합니다.

전력 소비 및 스로틀링

GPU 스로틀링(과열로 인한 주파수 감소)은 모바일 게임의 주요 문제입니다. 지속적인 부하에서 SoC 온도가 85~95°C에 도달하면 GPU는 주파수를 30~50% 감소시킵니다. AnandTech(2025)에 따르면, Qualcomm Adreno 750은 Genshin Impact에서 15분 후 최대 35%의 성능을 잃습니다.

개발자는 드로우 콜 최적화, 렌더링 해상도 감소, Foveated Rendering 사용을 통해 스로틀링을 완화할 수 있습니다. iOS의 Metal Performance Shaders와 Android의 Android Frame Pacing API는 기기의 열 예산에 맞춰 부하를 동기화하는 데 도움을 줍니다.

GPGPU: GPU 컴퓨팅

GPGPU(General-Purpose computing on GPU)는 그래픽이 아닌 계산에 그래픽 프로세서를 사용하는 것입니다. 이 아이디어는 2000년대 중반 개발자들이 셰이더를 행렬 연산, 암호화, 물리 시뮬레이션에 적용할 수 있다는 것을 깨달으면서 시작되었습니다.

오늘날 GPGPU는 대규모 병렬 처리가 필요한 작업의 표준 도구입니다. 머신러닝(신경망 훈련 및 추론), 암호화(해싱, 암호화), 이미지 및 비디오 처리(필터, 코덱), 과학 시뮬레이션(유체 역학, 양자 화학) 등이 포함됩니다.

모바일 기기에서는 Compute Shaders를 통해 GPGPU에 액세스합니다. 그래픽 출력 없이 데이터만 처리하는 셰이더입니다. Compute Shader는 작업 그룹의 그리드를 실행하며, 각 그룹에는 여러 스레드가 포함됩니다. 메모리 액세스는 화면에 바인딩되지 않고 버퍼와 텍스처를 통해 이루어집니다.

glsl
#version 310 es
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0) buffer Input  { float data[]; };
layout(binding = 1) buffer Output { float result[]; };

void main() {
    uvec2 idx = gl_GlobalInvocationID.xy;
    uint offset = idx.y * gl_NumWorkGroups.x * gl_WorkGroupSize.x + idx.x;
    result[offset] = sqrt(data[offset]) + 1.0;
}

예제 compute shader는 배열의 각 요소에 대한 제곱근을 계산합니다. 16x16 작업 그룹은 256개의 요소를 동시에 처리합니다. 최신 모바일 GPU는 최대 1024개의 작업 그룹과 수백만 개의 글로벌 스레드를 지원합니다.

GPU 작업을 위한 API

GPU 액세스 API는 개발자가 그래픽 프로세서에 명령과 데이터를 보내는 방법을 결정합니다. 모바일 플랫폼에서는 Vulkan, Metal, OpenGL ES의 세 가지 주요 API가 사용됩니다. 각각은 성능과 호환성에 영향을 미치는 장점과 제한 사항이 있습니다.

Vulkan

Vulkan은 Khronos Group의 로우레벨 크로스 플랫폼 API로, OpenGL의 후속 제품입니다. Vulkan은 개발자에게 GPU 메모리, 명령 큐 및 동기화에 대한 직접적인 제어를 제공합니다. Khronos(2025)에 따르면, Vulkan은 드라이버 오버헤드를 줄여 OpenGL ES보다 30~60%의 성능 향상을 제공합니다.

Android에서 Vulkan은 Android 7.0(API 24)부터 필수이며, 모든 최신 SoC는 Vulkan 1.3을 지원합니다. Vulkan Memory Allocator와 중간 표현으로서의 SPIR-V는 GLSL, HLSL 또는 Rust GPU로 셰이더를 작성할 수 있게 합니다.

Metal

Metal은 Apple 에코시스템의 모든 기기(iPhone, iPad, Mac, Apple TV)를 위한 Apple의 독점 GPU API입니다. Metal은 최소한의 오버헤드와 예측 가능한 명령 실행 시간을 제공합니다. Apple Developer Documentation(2025)에 따르면, Metal은 FPS 저하 없이 프레임당 최대 100,000개의 드로우 콜을 처리합니다.

주요 특징은 C++ 기반의 Metal Shading Language(MSL)입니다. 셰이더는 애플리케이션과 함께 머신 코드로 컴파일되어 Vulkan의 일반적인 JIT 컴파일이 필요 없습니다. Metal은 Mesh Shaders, Ray Tracing 및 런타임에 셰이더를 로드하기 위한 Dynamic Libraries를 지원합니다.

OpenGL ES

OpenGL ES는 임베디드 시스템을 위한 OpenGL의 단순화된 버전입니다. 구형 기기 및 하위 호환성을 위해 사용됩니다. Android Studio(2025)에 따르면, Android 기기의 94%에서 OpenGL ES 3.2가 지원됩니다. 새 프로젝트의 경우 Google은 OpenGL ES보다 Vulkan을 권장합니다.

WebGL은 OpenGL ES의 브라우저 기반 아날로그로, 웹에서 3D 그래픽의 기초입니다. WebGL 2.0(OpenGL ES 3.0에 해당)은 모바일 브라우저의 92%에서 지원됩니다. WebGPU는 Vulkan 및 Metal에 가까운 아키텍처를 갖춘 차세대 기술입니다.

자주 묻는 질문

모바일 GPU와 데스크톱 GPU의 차이점은?

모바일 GPU는 2~8W의 열 설계 범위 내에서 작동하며, 절전을 위해 Tile-Based Rendering을 사용하고 UMA를 통해 CPU와 메모리를 공유합니다. 데스크톱 GPU는 150~450W를 소비하고, 전용 비디오 메모리(GDDR)가 있으며 Immediate Mode Rendering을 사용합니다.

2026년에 가장 강력한 모바일 GPU는?

Apple GPU(M4 Ultra 및 A18 Pro 칩 탑재)가 모바일 GPU 중 와트당 성능에서 선두입니다. Android 기기 중에서는 Snapdragon 8 Gen 4의 Qualcomm Adreno 850과 MediaTek Dimensity 9500의 ARM Mali-G925가 선두입니다.

모바일 기기에서 머신러닝에 GPU를 사용할 수 있나요?

네, GPU는 iOS의 Core ML과 Android의 TensorFlow Lite/NNAPI를 통해 신경망 추론에 적극적으로 사용됩니다. Google(2025)에 따르면, GPU 가속은 CPU 대비 3~10배의 속도 향상을 제공합니다.

모바일 게임에서 GPU가 뜨거워지고 스로틀링이 발생하는 이유는?

스로틀링은 열 예산을 초과했을 때 발생합니다. 지속적인 부하에서 SoC 온도가 85~95°C에 도달하면 GPU는 칩 보호를 위해 주파수를 낮춥니다. 해결책은 렌더링 최적화와 FPS 캡(30~45FPS) 사용입니다.

Android에서 GPU 그래픽을 위해 어떤 API를 선택해야 하나요?

Vulkan이 새 프로젝트의 주요 선택입니다. OpenGL ES는 구형 기기와의 하위 호환성을 위한 것입니다. Metal은 iOS에서 필수입니다. 크로스 플랫폼 개발을 위해서는 Unity, Unreal Engine 또는 Filament와 같은 프레임워크를 사용하세요.

요약

  • GPU는 병렬 데이터 처리 및 그래픽 가속을 위해 수천 개의 코어를 갖춘 특수 프로세서입니다.
  • GPU 아키텍처는 모바일 SoC를 위해 SIMD 파이프라인, Tile-Based Rendering 및 Unified Memory를 사용합니다.
  • GPU vs CPU: GPU는 대규모 병렬 작업에서 FLOPS 기준 CPU보다 10~12배 우수하지만 순차 알고리즘에서는 뒤집니다.
  • Qualcomm, ARM, Apple, Imagination의 모바일 GPU는 엄격한 2~8W 제한 내에서 작동하며 스로틀링이 발생하기 쉽습니다.
  • GPGPU는 Compute Shaders를 통해 ML, 암호화, 이미지 처리 및 과학 시뮬레이션에 사용됩니다.
  • VulkanMetal은 최신 모바일 애플리케이션의 주요 API로, GPU에 대한 로우레벨 제어를 제공합니다.
  • GPU 최적화에는 발열 감소를 위한 드로우 콜 관리, FPS 캡 및 Foveated Rendering이 포함됩니다.

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기