[인공지능] CUDA란?
- 인공지능
- 2022. 2. 10. 17:02
참조
CUDA 정의
- CUDA(Computed Unified Device Architecture) 는 NVIDIA에서 개발한 GPU 개발 도구입니다.
- CUDA는 c, c++ 기반으로 짜여진 완전 기초적 H/W 접근을 해야하는데, 많은 연구자들이 딥러닝에 사용할 수 있도록, 쉽게 설치할 수 있도록 오픈하였습니다.
- 현재는 nvida-driver, CUDA, CUDNN만 설치하면 딥러닝을 쉽게 사용할 수 있습니다.
CUDA 사용 이유
- CUDA를 사용하는 이유는 많은 양의 연산을 동시에 처리하는 것이 목표입니다.
- 그러므로 딥러닝, 채굴과 같은 수학적 계산에 많이 쓰입니다.
- 이러한 이류는 미분이 컴퓨터로 가능하기 때문입니다.
기존의 CPU 방식
- 기존의 컴퓨터 연산은 CPU를 사용하고, RAM에 의존하여 연산을 진행하였습ㄴ디ㅏ.
- CPU를 이용한 연산은 대부분 Single-Core를 사용하고 MultiProcessing, Multi-Threading등을 이용하여 CPU가 보유한 코어 갯수 만큼의 Multi-Core를 이용하여 연산을 할 수 있습니다.
- 일반적으로 딥러닝에서 사용하는, 특히 pytorch나 tensorFlow에서 data loader 파트에서, core 갯수를 주고 데이터 loading 하는 부분이 여기에 속합니다.
GPU 방식
- GPU는 Core 갯수가 엄청 많습니다.
- CPU는 8개에서 16개인데 비해 GPU는 몇 천개 이상입니다.
- 즉 이를 이용한 Many-Core dependent 연산을 진행하고, Video RAM에 있는 데이터를 연산합니다.
CUDA 장점
- CUDA의 장점은 다음과 같습니다.
- 높은 연산 처리능력
- 병렬 프로그램의 확장성
- 편리한 설치
- CUDA의 연산 능력
- 1TFLOP/s 기준으로 10년전 슈퍼컴퓨터와 동등한 수준, 인텔 i7 CPU를 10개 합쳐야 나오는 성능입니다.
- 병렬 프로그램의 확장성
- 잘 설계된 CUDA 프로그램은 GPU의 성능에 비례하여 연산 능력을 발휘합니다.
- 대규모 데이터를 멀티스레드로 실행하여 처리하기 때문에 그래픽카드가 발전하여 코어 수가 증가하면 자동으로 연산에 필요한 시간이 줄어들게 됩니다.
728x90
'인공지능' 카테고리의 다른 글
[인공지능] TensorFlow GPU 동작 확인 방법 (0) | 2022.02.10 |
---|---|
[인공지능] Windows(윈도우) CUDA, cuDNN 설치방법 (0) | 2022.02.10 |
[인공지능] 그래픽카드 버전에 맞는 CUDA 버전, 성능 확인 (0) | 2022.02.10 |
[인공지능] Tensorflow 테스트 코드 실행 (0) | 2022.02.09 |
[인공지능] TensorFlow 설치하기 (2) | 2022.02.09 |
이 글을 공유하기