GPU architecture

CUDA
GPU를 그래픽 처리기뿐만 아니라 범용 연산 장치로 쓸 수 있도록, NVIDIA가 만든 프로그래밍 환경
구성요소
언어 확장: C/C++/Fortran 확장
라이브러리: cuBLAS(행렬연산), cuDNN(딥러닝), cuFFT(푸리에 변환)
툴킷: NVCC컴파일러, 디버거, 프로파일러
드라이버: GPU 하드웨어 제어
딥러닝에서 CUDA가 필요한 이유
딥러닝 모델은 매트릭스 곱셈, 합성곱(Convolution), 벡터 연산 같은 대규모 수학 계산을 반복합니다.
이 연산들은 병렬화가 가능해서, GPU의 수천 개 코어로 동시에 처리하면 CPU보다 훨씬 빠르게 실행됩니다.
예: 1만 장의 이미지를 학습 → CPU는 순차적으로 처리, GPU는 CUDA를 이용해 동시에 병렬 연산
CUDA 병렬 연산



GPU에서 SM(Streaming Multiprocessor)의 개수
