Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
티스토리 뷰
그래픽 및 AI 연산에 왜 GPU(Graphics Processing Unit)가 필요한가?
CPU는 박사한명, GPU는 초등학생 백 명에 비유할 수 있다.
단순한 숫자 덧셈 문제 백개가 있다면 초등학생 백 명이 하나씩 문제를 푸는 것이, 박사 한 명이 백개의 문제를 푸는 것보다 더 빠를 것이다.
A + B = C
C + D = E
E + F = G
....
하지만 위에처럼 다음 연산에 이전 연산의 결과가 필요한 경우, 초등학생 수천 명이 있더라도 계산이 빠른 박사님 한 명을 이길 수는 없을 것이다.
이처럼 CPU는 초고성능의 코어 하나로 순차적인 작업에 강점이 있고
GPU는 저성능이지만 수많은 코어로 이루어져, 병렬 처리에 강점이 있다.
그래픽 처리에는 이전 계산 결과 정보가 필요하지 않고, 현재 폴리곤의 정점과 해당 폴리곤이 화면의 어떤 픽셀에 표현되어야 하는지 등을 행렬 연산을 한다.
행렬 연산을 해보았다면 알겠지만, 병렬적인 단순 연산이 주를 이룬다.
따라서 CPU보단 GPU를 통해 그래픽 처리를 구현한다.
AI도 수많은 행렬 연산의 결과가 필요하다.
인공 신경망은 입력값이 가중치(w)화 편향값(bias, b)을 연산하여 출력층을 만들어 낸다. 이 출력 층이 다시 다음 연산의 입력으로 들어간다.
입력값(x)과 가중치(w)로 결과(y)를 만들어 내는 과정은 이처럼 행렬로 계산된다.
복잡한 모델일 수록 수많은 층(layer)이 존재하며, 학습 과정은 이런 layer 연산들을 수도 없이 반복하므로 GPU 연산이 필수적이다.
그렇다면 CUDA(Compute Unified Device Architecture)란 무엇인가?
CUDA는 GPU에서 수행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술 -위키피디아-
엔비디아가 개발한 기술로 NVIDIA GPU에 적용되고 있다.
정확히는 컴퓨터 커널의 실행을 위해 GPU의 가상 명령 집합과 병렬 연산 요소들을 직접 접근할 수 있는 소프트웨어 계층이다.
CUDA 처리 흐름
1. 메인 메모리를 GPU 메모리로 복사
2. CPU가 GPU에 프로세스를 지시함
3. GPU가 각 코어에 병렬 수행
4. GPU 메모리로부터의 결과물을 메인 메모리에 복사
CUDA를 통해 개발자들은 CUDA GPU 안 병렬 계산 요소 고유의 명령어 집합과 메모리에 접근할 수 있다.
최신 엔비디아 GPU는 병렬 다수 코어 구조를 가지고 있고, 각 코어는 수천 스레드를 동시에 실행시킬 수 있다.
CUDA를 사용하면 엔비디아의 CPU를 효과적으로 활용할 수 있다.
CUDA core란?
NVIDA GPU에는 3가지 Core가 존재한다.
1. CUDA core
2. Tensor core
3. Ray-Tracing core
CUDA core는 이러한 CUDA 명령어 세트로 액세스 가능한 NVIDIA의 GPU 코어로, GPU의 작업을 처리하는 하드웨어의 요소이다.
따라서 CUDA core가 많을 수록 더 많은 병렬 처리가 가능하고, A100의 경우 6912개의 CUDA core를 가지고 있다.
참조
https://ko.wikipedia.org/wiki/CUDA
https://www.youtube.com/watch?v=ZdITviTD3VM
https://acecloud.ai/resources/blog/nvidia-cuda-cores-explained/
https://blog.naver.com/n_cloudplatform/221108089772
https://byounghee.me/2023/04/23/gpu-%ec%9a%a9%ec%96%b4%ec%82%ac%ec%a0%84-part2-cuda-tensor-core/
'CS > 하드웨어' 카테고리의 다른 글
Geforce VS Quador (FP64, FP32 ,FP16, BF16) (0) | 2025.03.11 |
---|---|
MIG와 vGPU의 차이 (GPU 가상화) (0) | 2025.03.06 |