GPU 구조 1 개요

GPU 구조 시리즈

  1. GPU 구조 1 - 개요
  2. GPU 구조 2 - SM

발생

오늘은 GPU의 구조에 대해 대략적으로 알아보았다.

구조

GPU 구조는 당연하게도 생산 기업마다 모두 다르다. 그러므로 모두가 그러하듯 가장 대중적인 NVDIA GPU를 참고해서 알아보았다.

GPU는 크게 아래와 같은 요소들로 이루어진다.

  • SM (Streaming Multiprocessor)
  • CUDA (Compute Unified Device Architecture) Core / ALU (Arithmetic Logic Unit)
  • Register, Shared Memory
  • Global Memory

단순히 각각이 무슨 역할을 하는지만 알아보도록 하자

SM

  • GPU의 핵심 연산 단위이다.
  • CPU의 코어와 비슷하지만 더 단순하고 다수가 존재한다.
  • 각 SM은 여러 개의 CUDA 코어 또는 ALU를 포함하고 있으며 병렬로 많은 연산을 동시에 수행한다.

CUDA Core / ALU

  • 실제 계산인 덧셈, 곱셈 등을 수행하는 소규모 연산 장치이다.
  • NVIDIA의 GPU에는 수천 개의 CUDA 코어가 존재한다.
  • 벡터나 행렬 연산 같은 데이터 병렬 처리에 매우 효율적이다.

Register, Shared Memory

  • Register : 각 스레드가 사용하는 초고속 임시 저장공간이다.
  • Shared Memory : 같은 블록 내 여러 스레드가 데이터를 공유할 수 있는 고속 메모리이다.
    • CPU의 캐시와 유사하지만 사용자가 직접 제어할 수 있다는 특징이 있다.

Global Memory

  • GPU 외부의 VRAM(Video Random Acess Memory)에 해당한다.
  • 모든 스레드가 접근 가능하지만 접근 속도가 느리다.
  • 컴퓨터에서 데이터는 CPU에서 VRAM으로 복사되어 GPU가 이를 이용해 연산을 수행한다.

메모리 계층

GPU에는 앞서 말한거와 같이 여러 메모리가 존재한다. 마치 CPU 가 Register, Cache Memory, RAM 을 가지는 것과 같이 말이다. 그리고 CPU 와 같게도 메모리 계층이 존재한다.

GPU의 메모리 계층은 아래와 같다.

Register > Shared Memory > Global Memory > Host Memory (CPU)

결론

GPU의 구조를 대략적으로 알아보았다.
구조가 CPU와 유사한 점이 있는걸로 보아 작동 방식의 이해에도 큰 어려움이 없을 것 같다.

Day-37


tech