CUDA

CUDA(Compute Unified Device Architecture)는 엔비디아가 2006년에 만든 GPU용 병렬 컴퓨팅 플랫폼이자 API로, 그래픽 처리 장치를 이용해 기계학습, 암호 해시, 분자 시뮬레이션과 같은 일반 범용 연산을 크게 가속화하는 기술입니다.

스탠포드 대학의 이안 벅(Ian Buck)이 DARPA 지원으로 연구한 병렬 프로그래밍을 바탕으로 젠슨 황(Jensen Huang)의 비전을 통해 2007년에 공식 출시됐으며, C/C++, 포트란, 파이썬, 줄리아 등 여러 산업 표준 프로그래밍 언어와 호환됩니다.

이 플랫폼은 cuBLAS, cuFFT, cuRAND 같은 전문 라이브러리와 스레드 간 초고속 공유 메모리, 통합 가상 메모리 등의 기능을 제공하여, 대규모 데이터를 처리할 때 일반 CPU보다 훨씬 높은 성능을 발휘합니다.

특히 2015년 이후로는 신경망과 인공지능 분야에 초점을 맞춰 발전해 왔으며, 현재 딥러닝 훈련과 고성능 과학 컴퓨팅(HPC)의 사실상 표준 소프트웨어 환경으로 자리 잡았습니다.

다만 모든 소스 코드가 C++ 구문 규칙을 따라야 하고, 스레드는 성능을 위해 최소 32개 단위로 그룹화되어야 하며 SIMD 실행 패턴에 제약이 있는 등 여러 한계점도 존재합니다.

그럼에도 불구하고 CUDA는 NVIDIA GPU를 단순한 그래픽 장치에서 세계적인 인공지능 계산 엔진으로 탈바꿈시킨 핵심 소프트웨어 경쟁력으로, 지포스(GeForce)부터 테슬라(Tesla)까지 모든 GPU 제품군에 적용되고 있습니다.