IT

GPU SM 구조 완벽 이해하기: 작은 공장이 모여 거대한 AI를 움직인다

메타인지 월드 2025. 8. 21. 17:45
반응형

AI 모델을 학습하거나 3D 그래픽을 처리할 때 GPU는 엄청난 연산 성능을 발휘합니다.
그런데 GPU 내부를 들여다보면 수백 개의 작은 공장이 있다는 사실, 알고 계셨나요?
이 공장이 바로 **SM(Streaming Multiprocessor)**입니다.

SM은 단순히 숫자를 더하고 곱하는 연산기가 아니라, 수천 명의 인턴 연구원이 동시에 일하는 첨단 연구소와 같습니다.
오늘은 이 SM 내부를 비유를 통해 쉽고 재미있게 설명해 드리겠습니다.


1. Warp Scheduler ― 작업 분배 매니저

공장에 일이 들어오면 제일 먼저 움직이는 관리자가 있습니다.
바로 Warp Scheduler입니다.

  • 워프(Warp): 32개의 스레드로 구성된 작업 단위
  • Warp Scheduler 역할
    • 수천 개의 작업을 워프 단위로 묶어 효율적으로 분배
    • 어떤 워프는 벡터 연산, 다른 워프는 행렬 곱셈 등으로 지시
    • 최대 64개의 워프를 동시에 관리해 공장은 늘 바쁘게 돌아갑니다.

비유
Warp Scheduler = “작업반장 겸 스케줄러”


2. CUDA Core ― 다재다능한 일꾼

스케줄러가 내린 지시를 받아 가장 많이 움직이는 일꾼이 있습니다.
그게 바로 CUDA Core입니다.

  • 주요 역할
    • 벡터 연산, 행렬 연산 등 SIMD/SIMT 기반 계산 수행
    • 조건문이 있는 복잡한 코드 처리 가능
    • 단, 같은 워프 내에서 **서로 다른 분기(branch)**로 가면 속도가 떨어짐

비유
CUDA Core = “다재다능한 인턴 연구원”


3. Tensor Core ― AI 연산 특화 전문가

AI와 머신러닝의 핵심은 거대한 행렬 곱셈입니다.
이를 위해 등장한 GPU 속 “전문가”가 바로 Tensor Core입니다.

  • 특징
    • 행렬 곱셈에 최적화
    • FP16, FP8, INT8 등 낮은 정밀도 연산에서 초고속 성능 발휘
    • CUDA Core보다 수십 배 높은 연산 성능(FLOPs) 보유

비유
Tensor Core = “AI 연산 특화 전문가”


4. 레지스터 파일 ― 개인 서랍장

연구원이 일을 하려면 자료가 필요합니다.
각 CUDA Core와 Tensor Core는 자신만의 작은 서랍장을 갖고 있는데, 이를 레지스터 파일이라고 합니다.

  • 연산에 필요한 데이터를 가장 빠르게 꺼내 쓸 수 있는 공간
  • 단, 용량이 작아 오래 보관하기는 어려움

비유
레지스터 = “각 연구원의 개인 서랍”


5. SMEM(L1 Cache) ― 팀 공유 창고

SM 내부에는 팀원들이 함께 쓰는 작은 창고도 있습니다.
이게 바로 **SMEM(Shared Memory, L1 Cache)**입니다.

  • 여러 CUDA Core가 동시에 데이터 접근 가능
  • 워프 단위 협업에 최적화
  • 다만 용량이 작아 자주 비워줘야 함

비유
SMEM = “작업반이 함께 쓰는 공유 창고”


6. L2 Cache & HBM ― 외부 물류창고

SM 내부의 작은 창고만으로는 대규모 연구를 감당하기 어렵습니다.
그래서 GPU는 더 큰 중앙 창고와 외부 물류센터와 연결되어 있습니다.

  • L2 Cache → 공장 전체가 공유하는 중앙 창고
  • HBM(High Bandwidth Memory) → GPU 외부의 초고속 대형 물류센터
  • 데이터 이동 경로:
    레지스터 → SMEM → L2 Cache → HBM
  • 거리가 멀수록 속도가 느려지므로, 데이터를 가까이 두는 최적화가 중요

비유
HBM = “초대형 외부 물류센터”


7. GPU 내부의 유기적 흐름

GPU의 SM은 단순한 부품의 집합이 아니라 유기적으로 협업하는 연구소입니다.
작업 하나가 처리되는 과정을 보면 더 잘 이해할 수 있습니다.

작업 처리 순서

  1. 작업 요청 → 행렬 곱셈, 벡터 연산 등 다양한 연산이 들어옴
  2. Warp Scheduler가 워프 단위로 작업을 분배
  3. CUDA Core는 일반 연산, Tensor Core는 대규모 행렬 곱셈 수행
  4. 필요한 데이터는 레지스터 → SMEM → L2 → HBM 순서로 가져옴
  5. 결과를 다시 레지스터/SMEM에 저장 후 상위 메모리로 전달

이 과정을 수백 개의 SM이 동시에 수행하기 때문에,
GPU는 **테라플롭스(TFLOPs)**에서 **페타플롭스(PFLOPs)**까지 엄청난 연산을 처리할 수 있습니다.


8. 비유로 보는 SM 구조

구성 요소역할비유
Warp Scheduler 작업 분배 및 관리 작업반장
CUDA Core 범용 연산 처리 다재다능한 인턴 연구원
Tensor Core AI·행렬 연산 전문가 특화된 연구 전문가
레지스터 빠른 데이터 접근 개인 서랍
SMEM(L1 Cache) 팀 단위 공유 메모리 작은 작업반 공유 창고
L2 Cache 공장 전체 중앙 창고 사내 메인 창고
HBM 외부 고속 메모리 대형 외부 물류센터

결론

SM은 단순한 연산기가 아니라 잘 조직된 작은 연구소입니다.
수백 개의 SM이 협력해 AI 모델 학습, 과학 시뮬레이션, 그래픽 렌더링 등
현대 컴퓨팅의 핵심을 움직이고 있습니다.

앞으로 GPU 성능을 제대로 이해하고 활용하려면,
SM 내부의 작업 흐름과 데이터 이동 구조를 아는 것이 필수입니다.

반응형