본문으로 건너뛰기
김신건의 로그

GPU: 그래픽/ML 병렬 프로세서

· 수정 · 📖 약 1분 · 320자/단어 #ml #hardware #gpu #cuda
GPU, Graphics Processing Unit, CUDA, 그래픽 카드

정의

GPU (Graphics Processing Unit) 는 원래 그래픽 렌더링용이었지만, massively parallel 아키텍처가 딥러닝과 HPC 에도 이상적. NVIDIA, AMD, Intel 이 3 대 제조사.

아키텍처 개요

Streaming Multiprocessor (SM)

NVIDIA GPU 의 병렬 유닛. 각 SM 은 수십~수백 개 CUDA 코어 + 공유 메모리 + register file.

H100 (Hopper): 132 개 SM × 128 FP32 코어 = 16896 CUDA cores.

SIMT (Single Instruction Multiple Thread)

Warp (32 스레드) 단위로 같은 명령 실행. Warp 내부는 SIMD 유사, warp 간은 독립.

메모리 계층

크기지연대역폭
Register스레드별~1 cycle최고
Shared memorySM 당 ~100KB~1 cycle매우 높음
L1 cacheSM 당~10 cycles높음
L2 cacheGPU 전체~200 cycles중간
Global memory (HBM)40-80 GB~500 cycles~3 TB/s (H100)

딥러닝 특화

Tensor Core

행렬곱 전용 유닛. FP16/BF16/FP8 지원. Ampere+ 는 sparse tensor 지원.

정밀도

FP32 → FP16/BF16 → FP8 → INT8/INT4. 낮은 정밀도 = 큰 처리량 + 낮은 메모리. 혼합 정밀도 학습 (mixed precision) 이 표준.

세대

년도NVIDIAAMD
2020A100 (Ampere)MI100
2022H100 (Hopper)MI250
2024B200 (Blackwell)MI300X

소프트웨어 스택

  • CUDA: NVIDIA 독점 API
  • PyTorch, TensorFlow, JAX: CUDA/ROCm/XLA 기반
  • Triton (OpenAI): Python 에서 CUDA 커널 작성
  • cuDNN, cuBLAS: NVIDIA 최적화 라이브러리
  • ROCm: AMD 대응 스택

참고

이 글의 용어 (4개)
HBMml
정의 HBM (High Bandwidth Memory)는 DRAM die 를 수직으로 적층해 매우 높은 대역폭을 제공하는 메모리 패키지. AI 시대 GPU/TPU 의 메모리 병목…
NPU (Neural Processing Unit): 엣지 AI 칩ml
정의 NPU (Neural Processing Unit) 는 모바일/엣지 디바이스용 저전력 AI 가속기. 스마트폰, 노트북, IoT 에 내장. 특징 - 저전력: 배터리 구동 (수…
SIMTml
정의 SIMT (Single Instruction, Multiple Threads) 는 NVIDIA 가 정립한 GPU 의 실행 모델이다. 한 명령(instruction) 을 한 …
TPU (Tensor Processing Unit): Google 의 ML ASICml
정의 TPU (Tensor Processing Unit) 는 Google 이 딥러닝 워크로드용으로 만든 ASIC (application-specific IC). 2015 년 v1…

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기