스탠퍼드대 이안 벅이 2000년대 초 GPU를 그래픽 외 일반 연산에 쓰려 한 브룩(Brook) 연구가 출발점. 2004년 엔비디아가 벅을 영입해 존 니콜스 등과 함께 이를 상용 GPU 컴퓨팅 플랫폼으로 발전시키며 CUDA 개발 본격화. C 프로그래머에게 친숙하면서도 GPU의 대규모 병렬성을 다루게 하려는 설계 목표 수립.
CUDA
엔비디아가 2006년 공개한 GPU 범용 병렬 컴퓨팅 플랫폼이자 프로그래밍 모델. 본래 그래픽 렌더링에 특화됐던 GPU를 일반 연산(GPGPU)에 활용할 수 있도록, C/C++ 등 친숙한 언어로 수천 개 코어의 병렬 처리를 다루게 해주는 소프트웨어 계층. 과학 시뮬레이션부터 딥러닝까지 GPU 가속 컴퓨팅의 사실상 표준.
스탠퍼드의 브룩(Brook) 연구에서 출발해 이안 벅·존 니콜스 등이 엔비디아에서 발전시킨 결과물로, GPU의 대규모 병렬 구조를 추상화해 개발자가 하드웨어를 직접 다루지 않고도 가속을 얻게 함. cuDNN·cuBLAS 등 방대한 라이브러리 생태계와 결합하며 텐서플로·파이토치 같은 딥러닝 프레임워크의 기반 인프라로 자리. 텐서 코어 등 전용 하드웨어와 소프트웨어가 함께 진화.
2012년 AlexNet의 GPU 학습이 촉발한 딥러닝 혁명, 이어진 생성형 AI 붐을 떠받친 핵심 토대. 거의 20년에 걸쳐 축적된 생태계와 개발자 락인(lock-in)이 엔비디아의 AI 칩 지배를 떠받치는 '소프트웨어 해자(moat)'로 평가받는 현대 AI 컴퓨팅의 중추.
추가 정보
GPU를 범용 연산기로 바꾼 소프트웨어
GPU의 수천 개 코어를 그래픽이 아닌 일반 계산에 동원하는 GPGPU 패러다임을, C 기반의 친숙한 추상화로 대중화한 플랫폼. 메모리 계층·스레드 블록·커널 같은 개념으로 병렬성을 표현하되 하드웨어 세부는 런타임과 컴파일러가 처리하는 구조. 덕분에 그래픽 전문가가 아닌 일반 개발자·연구자도 GPU 가속을 활용할 수 있게 됨.
라이브러리 생태계와 딥러닝의 토대
cuDNN·cuBLAS·cuFFT 등 도메인별 고성능 라이브러리와 결합하며 단순한 언어 확장을 넘어선 생태계로 성장. 텐서플로·파이토치 등 주요 딥러닝 프레임워크가 CUDA를 표준 백엔드로 채택하면서 AI 연구·서비스의 기본 실행 환경으로 정착.
엔비디아의 '소프트웨어 해자'
경쟁 표준(OpenCL 등)과 대안 칩이 등장했음에도, 오래 축적된 도구·문서·개발자 경험과 코드 자산이 만들어낸 전환 비용이 CUDA를 사실상의 표준으로 고착. 이 락인이 엔비디아의 데이터센터 GPU 지배를 떠받치는 핵심 경쟁 우위로 지목됨.
타임라인
14CUDA(Compute Unified Device Architecture)는 GPU 병렬 컴퓨팅 플랫폼 및 프로그래밍 모델. G80 아키텍처와 함께 발표. C 언어로 GPU를 직접 제어하는 첫 개념.
베타 버전은 2007년 2월 15일 개발자 SDK와 함께 공개. 정식 버전 1.0 은 2007년 6월 23일 배포 시작.
2006년 발표에 이어 2007년 첫 공개 SDK·툴킷(CUDA 1.0)을 배포하며 개발자들이 실제로 GPU 병렬 연산을 작성·실행할 수 있게 됨. C 언어 확장과 컴파일러·런타임·라이브러리를 함께 제공해 GPGPU의 진입 장벽을 크게 낮춤. 이후 정기적인 툴킷 버전 업데이트로 이어지는 CUDA 생태계의 실질적 출발.
엔비디아가 페르미(Fermi) GPU 아키텍처를 지원하는 CUDA Toolkit 3.0을 출시함. 새 버전은 64비트 GPU 주소 지정과 여러 커널의 동시 실행, 복수 복사 엔진, 하드웨어 디버깅·프로파일링 등을 지원함.
페르미는 GPU 메모리에 ECC 오류 교정 기능을 도입하는 등 과학 계산과 고성능 컴퓨팅을 본격적으로 겨냥한 아키텍처였음. 이에 따라 CUDA 역시 그래픽 처리의 부수적 활용을 넘어 범용 병렬 컴퓨팅 플랫폼으로 영역을 확대함.
CUDA 3.0과 페르미의 결합은 GPU 컴퓨팅이 연구용 실험 단계에서 HPC와 데이터센터용 범용 계산 기술로 이동하는 주요 전환점으로 평가됨.
엔비디아가 CUDA Toolkit 4.0을 출시함. CUDA 4.0은 하나의 CPU 스레드에서 여러 GPU를 제어할 수 있도록 하고 여러 CPU 스레드가 하나의 GPU를 공유할 수 있도록 하는 등 멀티 GPU 프로그래밍 기능을 강화함.
C++ 개발과 디버깅 환경도 확대하고 병렬 알고리즘 라이브러리인 Thrust와 이미지·영상 처리 라이브러리 NPP 등을 CUDA 도구 체계에 포함함. GPU를 직접 제어하는 저수준 프로그래밍뿐 아니라 재사용 가능한 라이브러리를 통한 개발도 쉬워짐.
CUDA가 단일 GPU용 프로그래밍 인터페이스에서 여러 GPU와 다양한 라이브러리를 포괄하는 병렬 컴퓨팅 생태계로 확장되는 과정의 주요 버전임.
토론토대 연구팀(알렉스 크리제프스키·일리야 수츠케버·제프리 힌턴)이 만든 심층 신경망 AlexNet이 엔비디아 지포스 GPU 두 장과 CUDA로 학습해 이미지넷 이미지 인식 대회에서 압도적 성적으로 우승함. GPU 병렬연산이 딥러닝 학습을 비약적으로 가속할 수 있음을 입증한 이 사건은 현대 AI 붐의 기폭제이자, 엔비디아가 게임용 칩 회사에서 AI 연산의 중심으로 도약하는 전환점.
심층 신경망 연산(합성곱·행렬곱·어텐션 등)을 GPU에서 고도로 최적화해 제공하는 cuDNN 라이브러리를 2014년 추가하며 딥러닝 전용 가속 계층 확보. 텐서플로·파이토치 등 주요 프레임워크가 cuDNN을 통해 CUDA 위에서 동작하며 학습·추론 시간을 크게 단축. 단순 GPGPU 도구를 넘어 AI 연산의 핵심 인프라로 도약한 전환점.
엔비디아가 CUDA 6에 CPU와 GPU가 하나의 메모리 공간을 공유하는 것처럼 프로그래밍할 수 있는 Unified Memory를 도입함. 개발자는 하나의 포인터를 CPU와 GPU 양쪽에서 사용할 수 있게 됨.
이전에는 CPU 메모리와 GPU 메모리를 별도로 관리하면서 데이터를 명시적으로 복사하는 작업이 CUDA 프로그래밍의 주요 복잡성 가운데 하나였음. Unified Memory는 필요한 데이터를 시스템이 CPU와 GPU 사이에서 이동하도록 해 이러한 부담을 크게 줄임.
CUDA가 하드웨어 성능뿐 아니라 프로그래밍 난이도를 낮추는 방향으로 발전한 대표적인 전환점으로, 이후 Pascal 등 새로운 GPU 아키텍처에서 메모리 자동 이동 기능이 더욱 발전함.
엔비디아가 파스칼(Pascal) GPU 아키텍처를 지원하는 CUDA 8을 공개함. CUDA 8은 Tesla P100을 비롯한 파스칼 GPU의 새로운 연산 기능과 NVLink, 향상된 Unified Memory 기능을 개발자가 활용할 수 있도록 함.
파스칼에서는 49비트 가상 주소 공간과 GPU 페이지 폴트, 필요할 때 데이터를 이동하는 페이지 마이그레이션 기능이 추가돼 Unified Memory의 활용 범위가 크게 확대됨. GPU의 물리 메모리 크기를 넘어서는 데이터 처리도 가능한 방향으로 발전함.
CUDA의 메모리 모델이 CPU와 GPU 사이의 명시적인 데이터 이동 중심에서 보다 자동화된 이기종 컴퓨팅 모델로 이동한 중요한 단계임.
2017년 5월 엔비디아가 GTC에서 볼타(Volta) 아키텍처와 테슬라 V100을 공개, 딥러닝 행렬 연산 전용 '텐서 코어'를 처음 탑재. CUDA·cuDNN이 텐서 코어를 활용하도록 확장되며 이전 세대 대비 수~수십 배의 딥러닝 성능 향상 제공. 소프트웨어와 전용 하드웨어가 함께 진화하는 AI 가속 패러다임의 본격화.
엔비디아가 암페어(Ampere) 아키텍처와 NVIDIA A100 GPU를 지원하는 CUDA Toolkit 11을 정식 출시함. AI와 데이터 분석, 고성능 컴퓨팅을 위한 새로운 GPU 기능을 CUDA 개발 환경에서 활용할 수 있게 됨.
CUDA 11은 A100의 3세대 Tensor Core와 희소성 연산, Multi-Instance GPU 등의 기능을 지원하고 Arm 서버 프로세서 지원도 확대함. CUDA가 x86 기반 GPU 가속을 넘어 다양한 데이터센터 시스템을 포괄하는 개발 플랫폼으로 확장됨.
대규모 딥러닝 학습과 데이터센터 GPU 수요가 급증하던 시기에 CUDA와 엔비디아의 AI 하드웨어 생태계가 더욱 밀접하게 결합된 전환점임.
엔비디아가 호퍼(Hopper)와 Ada Lovelace GPU 아키텍처의 새로운 기능을 지원하는 CUDA Toolkit 12.0을 출시함. 새로운 PTX 명령어와 C·C++ API를 통해 차세대 GPU의 기능을 개발자가 직접 이용할 수 있도록 함.
CUDA Graphs와 Dynamic Parallelism 등 기존 프로그래밍 모델도 개선됐으며, 호퍼 기반 H100을 중심으로 대규모 AI 학습과 고성능 컴퓨팅을 위한 CUDA 기능이 확대됨.
생성형 AI 확산 직전에 등장한 CUDA 12는 H100을 비롯한 차세대 AI 가속기의 소프트웨어 기반을 제공하면서 이후 생성형 AI 인프라 확대를 뒷받침함.
챗GPT가 촉발한 생성형 AI 붐으로 대규모 AI 학습·추론 수요가 폭증하며, 거의 모든 AI 프레임워크가 우선 지원하는 CUDA가 사실상의 표준으로 자리. 2023년 무렵 엔비디아가 데이터센터 GPU 시장의 대부분을 차지하는 가운데, 오래 축적된 CUDA 생태계와 개발자 락인이 핵심 경쟁력으로 부각. 소프트웨어 해자(moat)로 불리며 엔비디아의 AI 칩 지배를 떠받치는 토대로 평가.
엔비디아가 CUDA Toolkit 12.8을 출시하며 블랙웰(Blackwell) GPU 아키텍처를 정식 지원함. CUDA 컴파일러와 런타임뿐 아니라 cuBLAS, cuSOLVER 등 주요 GPU 가속 라이브러리가 블랙웰의 새로운 연산 기능을 활용하도록 업데이트됨.
블랙웰은 대규모 생성형 AI와 추론 워크로드를 주요 대상으로 설계된 GPU 세대로, CUDA 12.8은 이러한 하드웨어를 기존 CUDA 소프트웨어 생태계와 연결하는 역할을 담당함.
CUDA가 여러 세대의 GPU 아키텍처에 걸쳐 기존 프로그램의 호환성을 유지하면서 최신 AI 가속 기능을 지속적으로 흡수하는 플랫폼으로 발전했음을 보여주는 사례임.