반응형
인공지능 학습 할 때 CPU 대신 GPU 쓰는 이유?
CPU
컴퓨터의 두뇌 역할, 모든 읽고 쓰고 실행하는 장치는 CPU를 거쳐서 수행됨. GPU를 사용한 인공지능 학습 시에는 GPU로 연산을 하라고 데이터와 명령 보내주는 역할.
GPU
GPU는 graphic 처리를 위해 등장한 연산장치로 CPU에 비해 몇배나 큰 core 수를 가지고 있음. 근데 이제 그 코어가 단순연산만 함. 그래서 많은 코어를 기반으로 CPU에 비해 병렬연산을 빠르게 수행할 수 있음.
GPU와 CPU간의 병목
CPU의 처리 속도에 비해 GPU가 연산을 너무 빠르게 수행하면 GPU는 CPU가 새로운 데이터를 보내줄 때까지 쉬게 됨. 하드웨어의 전송 속도의 문제로 발생함.
CUDA
Computed Unified Device Architecture(CUDA)는 GPU에서 수행하는 병렬 연산을 프로그래밍 언어로 작성하여 수행할 수 있게 하는 기술임. NVIDIA가 개발해오고 있음.
그럼 인공지능 학습 환경 설정할 때 설치하는
CUDA toolkit, Nvidia-dirver, Cudnn은 뭐임?
nvidia-driver은 물리적인 nvidia GPU를 컴퓨터가 제어하기 위한 소프트웨어
CUDA toolkit은 CUDA를 통해 작성한 프로그래밍 언어를 GPU가 돌리기 위해 필요한 모든 툴을 제공하는 kit, ex) CUDA 라이브러리, 컴파일러, ...
cuDNN은 cuda Deep Neural network Library로 딥러닝 모델 연산을 가속화 할 수 있는 라이브러리임. ex) 컨볼루션, ...
반응형
'인공지능' 카테고리의 다른 글
AI 반도체(GPU, NPU, TPU, 뉴로모픽) (1) | 2024.01.13 |
---|---|
torch tensor 반복 확장하기 expand vs. repeat vs. repeat_interleave 차이 (0) | 2023.04.17 |
[texture] 3D obj에서 segmenation 기반 texture stiching github (0) | 2023.04.01 |