반응형
Computed Unified Device Architecture (CUDA) 는 NVIDIA 사에서 개발한 Graphic Processing Unit (GPU) 개발 툴이다.
역사를 거슬러 올라가자면 2006년부터 시작된다. 2006년 NVIDIA가 처음으로 Fermi Architecture를 발표하면서 CUDA가 출현하게 되었다. 따라서 이로인해, GPU 프로그래밍이 어려웠던 기존 상황에 대비하여 CUDA의 등장 후엔 대다수의 프로그래머들이 GPU 프로그래밍을 시작하게 되었다.
이 CUDA를 그럼 왜 쓰는 걸까?
이유는 이렇다. 많은 양의 연산을 동시에 처리하기 위해.
기존 컴퓨터 연산은 CPU을 사용했다. 이 말인 즉슨, RAM (Random Access Memory)에 있는 데이터를 연산했다.
그런데 이 CPU를 이용한 연산은 단일 Core를 사용하고 MultiProcessing인 OpenMP 등을 사용하여 Multi Core를 이용한 연산을 할 수 있었다. 반면, GPU는 Many-Core를 사용하여 VRAM (Video RAM)에 있는 데이터를 연산한다.
Core 당 데이터 연산 속도는 CPU가 더 우세했다. 하지만, 코어 숫자는 CPU의 경우엔 4-core 정도이지만 GPU는 약 1500 코어로서 월등히 GPU가 우세하기 때문에 전체적인 데이터 연산량으로 따지면 GPU가 더 우위다.
참고문헌 1 : NVIDIA의 GPU와 CPU 성능 비교 https://www.youtube.com/watch?v=-P28LKWTzrI
반응형
'개발(Dev) 이야기 > A.I.' 카테고리의 다른 글
CNN, Convolutional Neural Network에 관하여 (1) (0) | 2019.08.07 |
---|---|
Deep Learning 프레임워크의 종류 (0) | 2019.08.05 |
Xilinx Benchmark 예제 코드 실행해보기 (0) | 2019.08.02 |
FPGA 기반의 Xilinx Alveo Card U200 장착 및 드라이버 설치과정 (0) | 2019.08.02 |
Hdf5 형식 파일이란 ? (0) | 2019.08.01 |