GPU 구조 1 - 개요
Categories:tech
GPU 구조 1 개요
GPU 구조 시리즈
발생
오늘은 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