CUDA, 20년의 해자: AI 시대의 운영체제는 어떻게 만들어졌는가
스탠퍼드 박사 과정생이 만든 장난감 같은 도구가, 어떻게 5조 달러 회사의 가장 단단한 자산이 되었는가
한 줄로 정리하면
- 정식 명칭
- CUDA — 원래는 Compute Unified Device Architecture(통합 컴퓨팅 아키텍처)의 약어였으나 엔비디아는 현재 약어 풀이를 거의 쓰지 않는다
- 최초 공개
- 2006년 11월, GeForce 8800(코드명 G80)과 함께 발표 / 공개 베타는 2007년 2월
- 설계자
- 이안 벅(Ian Buck) — 스탠퍼드대 박사 과정에서 Brook을 만든 인물. 2004년 엔비디아 합류
- 현재 버전
- CUDA 13.2 (2026년 3월 9일 릴리스)
- 활성 개발자
- 약 400만 명 이상 (GTC 2026 기준)
- 한 문장 요약
- "엔비디아 GPU 위에서 일반 계산 프로그램이 돌아가게 해주는 프로그래밍 도구이자 라이브러리 묶음, 그리고 그 위에 쌓인 20년치 생태계."
2026년 3월, 엔비디아의 연례 컨퍼런스 GTC(GPU Technology Conference) 무대에서 젠슨 황은 "CUDA 20주년"이라는 문구를 띄웠다. 회고가 아니었다. 청중은 분명히 다음 메시지를 들었다 — 이 해자는 점점 더 깊어지고 있고, 단기간에 메워질 수 없다.
현재 전 세계 인공지능 학습의 90% 이상이 엔비디아 GPU 위에서 돌아간다. 칩의 성능만으로는 설명되지 않는 점유율이다. AMD도 비슷한 성능의 칩을 만들고, 구글·아마존·마이크로소프트는 자체 AI 칩까지 갖고 있다. 그럼에도 학계와 산업계의 거의 모든 새 모델, 거의 모든 새 코드, 거의 모든 새 논문 구현은 일차적으로 엔비디아 GPU를 전제로 작성된다.
그 이유가 CUDA다. 이 글은 그 도구가 어떻게 만들어졌고, 왜 다른 회사들이 따라잡지 못하는지에 관한 이야기다.
CUDA가 정확히 무엇인가
먼저 흔한 오해부터 정리한다.
CUDA는 그래픽 카드의 하드웨어 이름이 아니다. CUDA는 운영체제(OS, Operating System)도 아니다. CUDA는 새로운 프로그래밍 언어도 아니다.
엄밀히 말하면 CUDA는 세 가지가 한 묶음으로 묶인 것이다.
- 프로그래밍 모델 — C/C++ 코드 안에 GPU에서 돌릴 작은 함수(이를 "커널"이라 부른다)를 정의할 수 있게 해주는 문법 확장. 평범한 C 프로그래머가 이질감 없이 쓸 수 있도록 설계됐다.
- 드라이버와 런타임 — 그 커널 코드를 GPU로 보내고, 데이터를 메인 메모리와 GPU 메모리 사이에서 주고받고, 결과를 회수하는 시스템 소프트웨어.
- 라이브러리 묶음 — 행렬 곱(cuBLAS), 신경망 연산(cuDNN), 푸리에 변환(cuFFT), 추론 최적화(TensorRT) 등 자주 쓰이는 연산을 미리 최적화해 묶어둔 도구 집합. 사용자는 함수 한 줄만 호출하면 된다.
이 세 층이 합쳐져 — 평범한 C 프로그래머가, 그래픽 카드의 내부 구조를 거의 몰라도, 그 카드의 수천 개 코어에 자기 계산을 분산시킬 수 있게 해주는 것이 CUDA의 본질이다.
마이크로소프트 윈도우가 PC에서 하는 일을 떠올려 보면 된다. 윈도우 자체는 "OS"이지 "프로그램"이 아니다. 그런데 거의 모든 PC용 프로그램이 윈도우를 전제로 만들어지기 때문에, 그 위에 쌓인 응용 소프트웨어가 곧 윈도우의 자산이 된다.
CUDA도 같은 구조다. CUDA 자체는 GPU의 OS도 아니고 프로그래밍 언어도 아니지만, 지난 20년간 학계·산업계에서 만들어진 거의 모든 GPU 코드가 CUDA를 전제로 작성됐다. 그래서 "GPU의 운영체제"라는 비유가 흔히 쓰인다 — 기술적으로는 부정확하지만 시장에서 차지하는 위치는 그 비유에 가깝다.
출생: 스탠퍼드 박사 과정생의 게임 컴퓨터
CUDA의 기원은 2000년대 초 스탠퍼드 대학교의 한 박사 과정 학생으로 거슬러 올라간다. 이안 벅(Ian Buck), 지도 교수는 컴퓨터 그래픽스 분야의 거장 팻 핸러핸(Pat Hanrahan)이었다.
벅은 프린스턴 학부생 시절 게임을 통해 GPU에 관심을 가졌고, 엔비디아 인턴 경험을 거쳐 스탠퍼드에 진학한다. 그가 박사 과정 중에 만든 것 가운데 가장 유명한 것은 — 학술적 결과물이 아니라 — 32장의 GeForce 카드를 묶어 만든 8K 해상도 게임용 컴퓨터다. Quake와 Doom 같은 게임을 누구보다 화려한 화질로 돌리고 싶다는 이유 하나로 만든 장치였다.
여기서 흥미로운 일이 일어났다. 화면을 그리는 데 쓰던 그 수많은 그래픽 카드의 연산 능력을, 화면이 아닌 다른 종류의 계산에도 쓸 수 있지 않을까 — 라는 생각이 든 것이다. 행렬 곱셈, 선형대수, 과학 시뮬레이션. GPU의 본질은 "같은 종류의 계산을 수천 개씩 동시에 하는 것"인데, 그게 화면 픽셀에만 적용될 이유가 없었다.
벅의 박사 학위 연구 결과물이 2003~2004년 발표된 Brook(브룩)이다. C 언어에 병렬 처리용 키워드를 몇 개 더한 확장 언어였고, 같은 코드를 GPU에서 돌릴 수 있게 해주는 컴파일러까지 포함돼 있었다. 시연 결과는 충격적이었다 — 같은 계산을 CPU보다 수십 배 빠르게 처리했다. 일부 과학 계산 그룹들이 이 도구를 시험적으로 채택하기 시작했고, 미국 국방고등연구계획국(DARPA, Defense Advanced Research Projects Agency)도 후원에 나섰다.
엔비디아가 이 일에 주목한 것은 자연스러웠다. 2004년, 회사는 벅을 정식 채용하면서 사내에서 이미 GPU 컴퓨팅 아키텍처를 책임지고 있던 존 니콜스(John Nickolls)와 짝지웠다. 두 사람의 팀이 만든 결과물이 CUDA다.
2006년 11월: G80과 함께 등장
CUDA가 세상에 처음 모습을 드러낸 시점은 2006년 11월, 엔비디아의 새 그래픽 칩 G80 — 소비자 시장에서는 GeForce 8800이라는 이름으로 팔린 — 발표 자리였다. 공개 베타는 2007년 2월에 풀렸다.
당시로서는 다소 이질적인 발표였다. 게이밍 회사가 게이머와는 직접 상관없는 기능을 위해 칩 다이(die)의 일부 면적을 할애하고, 별도의 소프트웨어 개발 키트(SDK, Software Development Kit)를 무료로 배포한다는 내용이었다. 월스트리트는 회의적이었다. 동일 시점에 다른 GPU 제조사 ATI(곧 AMD에 인수됨)도 비슷한 시도를 했지만, 엔비디아만큼 모든 신규 칩에 일관되게 이 기능을 박아 넣는 데 베팅하지는 않았다.
엔비디아의 결정이 비범했던 지점은 이 한 가지다 — 모든 GeForce 카드에 CUDA를 넣었다. 즉 800달러짜리 데이터센터급 카드뿐 아니라 200달러짜리 게이밍 카드에도 동일한 CUDA가 들어갔다. 대학원생 한 명이 자기 책상 위 PC로 CUDA 코드를 시험해볼 수 있게 된다는 뜻이었고, 이 사실이 향후 20년의 게임을 결정했다.
코드는 실제로 어떻게 생겼나
비전공자에게는 낯설겠지만, CUDA 코드의 분위기를 보는 것만으로도 이 도구가 왜 빠르게 받아들여졌는지 짐작할 수 있다. 다음은 두 벡터를 더하는 가장 단순한 예제다.
// GPU에서 돌아갈 함수("커널")
__global__ void add(int n, float *x, float *y) {
int i = blockIdx.x * blockDim.x + threadIdx.x;
if (i < n) y[i] = x[i] + y[i];
}
// CPU 쪽에서 호출
add<<<blocks, threads>>>(N, x, y);
두 줄이 핵심이다. __global__이라는 키워드 하나로 "이 함수는 GPU에서 돈다"고 표시하고, 호출할 때 <<<...>>>이라는 특수 문법으로 "GPU 코어 몇 개를 동시에 쓸지"를 지정한다. 그 외 모든 문법은 일반 C와 거의 동일하다.
당시 다른 대안들 — 그래픽 API(OpenGL, DirectX)를 우회해서 일반 계산을 시키는 "셰이더 트릭", 또는 OpenCL 같은 더 추상적인 표준 — 과 비교했을 때, CUDA는 결정적으로 한 가지를 잘했다. 평범한 C 프로그래머가 사흘이면 익힐 수 있을 만큼 진입 장벽을 낮춘 것이다.
해자는 칩이 아니라 라이브러리 탑에서 나온다
여기서부터가 본질이다. CUDA를 단순한 프로그래밍 도구로만 보면 — AMD의 ROCm이나 인텔 oneAPI가 비슷한 일을 할 수 있는데 왜 안 옮겨가는가 — 라는 질문에 답할 수 없다.
답은 지난 20년 동안 엔비디아가 CUDA 위에 쌓아 올린 라이브러리 탑이다. 2026년 현재 그 탑의 주요 층은 대략 이렇게 생겼다.
이 탑의 위쪽 층은 무료다. 정확히는, 엔비디아 GPU만 갖고 있으면 모두 따라온다. 학계의 신기술 논문이 나올 때, 코드 구현은 거의 항상 이 탑 어딘가의 함수 호출로 끝난다 — 직접 GPU 커널을 새로 짜는 일은 극히 드물다.
경쟁사가 비슷한 탑을 만들려면, 같은 수의 라이브러리를, 같은 안정성으로, 같은 성능으로, 같은 호환성을 보장하며 만들어야 한다. 더 어려운 점은 — 학계의 모든 후속 논문이 그 탑을 표준으로 인용하게 만들어야 한다는 것이다. 20년치 누적의 격차다.
CUDA의 진짜 자산은 코드 자체가 아니라 "이 코드 위에서 일하는 사람의 수"다. 2026년 현재 활성 CUDA 개발자는 400만 명을 넘는다. 이들이 쌓아 둔 라이브러리, 예제, 튜토리얼, 스택오버플로 답변, GitHub 저장소가 CUDA 생태계의 본체다.
경쟁사가 가격을 절반으로 책정한다 해도, 기존 코드를 옮기는 데 드는 엔지니어 인건비가 절약분을 넘기는 경우가 많다. 더구나 "옮기고 나서 똑같이 동작한다는 보장"을 받기까지의 회귀 시험 비용은 별도다.
결정적 순간들
CUDA가 게이머용 칩 회사의 부속 도구에서 산업 인프라가 되기까지 몇 개의 분기점이 있었다.
2007년 — 첫 Tesla GPU 라인업. 엔비디아는 게임용 GeForce와 별도로, 데이터센터 전용 Tesla 브랜드를 출시한다. 같은 칩이지만 ECC 메모리, 더 큰 메모리 용량, 더 긴 제품 수명을 제공했다. 과학 계산 연구자들이 처음으로 "GPU를 진지하게 슈퍼컴퓨터 부품으로" 도입하기 시작한다.
2012년 — 미국 오크리지 국립연구소의 Titan 슈퍼컴퓨터. 18,688개의 Tesla K20 GPU를 같은 수의 AMD Opteron CPU와 결합한 시스템이었다. 당시 세계 1위 슈퍼컴퓨터였고, "GPU + CUDA"가 과학 계산 표준 도구라는 사실을 확인해준 사건이었다.
2012년 — AlexNet. 같은 해, 토론토 대학교의 알렉스 크리제프스키와 일리야 수츠케버, 제프리 힌튼이 신경망 모델 AlexNet을 발표한다. 이미지 인식 대회 이미지넷에서 압도적 우승을 거뒀고, 학계가 이때부터 본격적으로 신경망에 기울기 시작했다. AlexNet의 학습 도구가 두 장의 GeForce GTX 580 — 즉 CUDA를 통해 부린 게이밍용 GPU였다. 황은 이 사건을 "AI의 빅뱅"이라고 부른다.
2016년 — OpenAI에 첫 DGX-1을 배달. 엔비디아가 직접 만든 AI 전용 슈퍼컴퓨터를 황이 트럭에 싣고 가져갔다는 일화가 유명한 그 사건. 그 위에서 OpenAI는 GPT 계열 모델의 토대를 쌓았다. 모든 학습은 당연히 CUDA 기반이었다.
2017~2022년 — Transformer와 GPT-3. Transformer 구조가 등장하고 GPT-3, ChatGPT로 이어지는 거대 언어 모델의 시대가 열린다. GPT-3 학습에 필요한 부동소수점 연산량은 AlexNet의 약 100만 배. 이 시점부터 CUDA는 단순한 도구가 아니라 "AI 산업의 인프라 표준"이 된다.
2023~2026년 — 추론 시대. 학습보다 큰 시장이 학습된 모델을 실제 서비스에 적용하는 "추론(inference)"이라는 사실이 명확해진다. 엔비디아는 TensorRT-LLM, NIM(NVIDIA Inference Microservices) 같은 추론 전용 도구를 CUDA 위에 빠르게 쌓아 올린다.
도전자들
CUDA의 해자가 얼마나 깊은지를 가장 잘 보여주는 것은, 그 해자를 메우려는 다섯 가지 시도와 그 한계다.
| 도전자 | 주체 | 접근 | 현재 한계 |
|---|---|---|---|
| ROCm | AMD | 오픈소스, CUDA 호환 도구 HIP 제공 | 라이브러리 성숙도·안정성 격차. CUDA 코드 자동 변환의 성능 손실 |
| oneAPI / SYCL | 인텔 주도 | 크로스 벤더 표준 | 딥러닝 생태계 채택률 낮음. 인텔 GPU의 시장 점유율 자체가 작음 |
| OpenCL | 크로노스 그룹(개방형 표준) | 모든 가속기 대상 | API가 저수준·복잡. 사실상 학계에서도 비주류로 전락 |
| Triton | OpenAI | 파이썬에서 직접 GPU 커널 작성 | 여전히 백엔드는 CUDA에 가장 잘 작동. AMD 백엔드 보조적 |
| 자체 컴파일러 | 구글 XLA, Mojo 등 | 프레임워크 단에서 추상화 | 최종적으로는 CUDA 호출로 떨어지는 경우가 많음 |
흔히 인용되는 표현으로 "CUDA는 황금 새장(gilded cage)이다"라는 말이 있다. 그 안에 들어간 개발자는 빠른 성능과 풍부한 도구를 누리지만, 일단 들어가면 빠져나오기가 어렵다는 뜻이다. 2026년 시점에서 그 새장 안에 들어가지 않고 진지한 AI 연구를 하기는 사실상 불가능에 가깝다.
그림자: 락인과 실패 모드
해자가 깊다는 말은, 그 안에 갇힌 사람이 많다는 말이기도 하다.
CUDA의 가장 자주 거론되는 약점은 벤더 락인(vendor lock-in)이다. 한 회사의 하드웨어 없이는 동작하지 않는다. 학계의 일부 그룹은 이 점을 윤리적·전략적 문제로 지적해 왔고, EU 일부 기관과 미국 일부 정부 연구소가 ROCm·SYCL 같은 개방형 대안에 정책적으로 자금을 투입하는 이유이기도 하다.
기술적 그림자도 있다. CUDA의 비동기 실행 모델은 성능에는 좋지만 디버깅에는 까다롭다. 한 커널 안에서 메모리 침범 같은 오류가 발생해도 즉시 보고되지 않고, 한참 뒤 다른 메모리 복사 작업이 실패할 때서야 드러난다 — 흔히 "action at a distance"(원격 작용)라고 불리는 부류의 버그다. 엔비디아는 Compute Sanitizer 같은 전용 진단 도구를 함께 배포하지만, 익숙해지는 데 시간이 든다.
2026년 봄, CUDA의 현재
2026년 3월 9일, 엔비디아는 CUDA 13.2를 정식 공개했다. 같은 달에 GTC 2026이 열렸고, CUDA의 20주년이 무대 위에서 언급됐다. 이 시점에서 짚어 둘 만한 변화 몇 가지가 있다.
cuTile Python — CUDA를 파이썬에서 직접 쓸 수 있게 해주는 새로운 추상화 계층이다. 2026년 13.2 릴리스에서 재귀 함수와 클로저(closure) 지원이 들어갔다. 텐서 코어(Tensor Core) 같은 저수준 자원을 데이터 과학자가 C++을 거치지 않고 파이썬으로 직접 다룰 수 있다. 일종의 "Triton에 대한 응답"이다.
ARM 통합 툴킷 — 데이터센터급 서버부터 임베디드용 Jetson 보드까지, 같은 CUDA 툴킷으로 빌드할 수 있게 됐다. 자동차·로봇 같은 피지컬 AI 분야 진입을 노린 정비다.
Blackwell·Rubin 아키텍처 지원 — 새 GPU 세대의 새 기능(FP4 정밀도, TMEM, 듀얼 다이 구조)이 CUDA 13.x 시리즈에서 1급 시민으로 다뤄진다.
Nsight Copilot — Nsight 프로파일러에 AI 어시스턴트가 붙었다. 사용자가 GPU 성능 병목을 자연어로 묻고 답을 받는 도구다.
이 모든 업데이트의 메시지는 단순하다 — CUDA는 새로운 워크로드(에이전트형 AI, 피지컬 AI, 추론 경제)가 등장할 때마다 그 방향으로 먼저 가서 도구를 갖다 놓는다. 경쟁사가 추격해 와도, 도착했을 때는 이미 다음 정거장으로 옮겨 가 있는 식이다.
한국 입장에서
한국의 AI 연구·산업 생태계가 CUDA에 얼마나 깊이 의존하고 있는지는 별도의 통계가 필요 없을 정도다. KAIST·서울대·POSTECH의 AI 연구실에서 돌아가는 GPU 서버는 거의 모두 엔비디아 카드이고, 그 위에서 돌아가는 모든 코드는 CUDA 기반이다. 삼성·LG·SK·네이버·카카오의 데이터센터도 마찬가지다.
한국 입장에서 CUDA 의존이 가져오는 비대칭성은 두 가지다. 첫째, 미국의 대중국 수출 통제 같은 외부 변수에 따라 한국 기업의 GPU 조달 일정이 흔들린다. 둘째, 자체 AI 칩 개발 — 리벨리온, 사피온, 퓨리오사 같은 국내 스타트업의 시도 — 이 성공하더라도, 그 위에서 돌아갈 소프트웨어 생태계를 별도로 키워야 한다는 더 큰 과제가 남는다.
전력·에너지 분야의 GPU 가속 시뮬레이션 — 가령 전자기 과도현상(EMT, Electromagnetic Transient) 해석이나 대규모 전력 흐름 계산 — 도 거의 전적으로 CUDA 기반이다. 이 분야의 연구는 PSCAD 같은 기존 상용 도구의 한계를 넘기 위해 GPU 가속을 시도하지만, 그 가속을 가능케 하는 거의 모든 라이브러리(cuBLAS, cuSPARSE, cuSOLVER)가 CUDA 위에서만 동작한다.
마치며: 20년 뒤 다시 볼 풍경
CUDA의 이야기에서 가장 자주 잊히는 사실은, 이것이 한 박사 과정 학생의 게임용 컴퓨터에서 시작됐다는 점이다. 32장의 GeForce 카드로 Quake를 더 화려하게 돌리고 싶었던 누군가가, 그 카드들의 능력을 다른 데도 쓸 수 있을 거라고 생각했을 뿐이다.
그 생각이 학계의 작은 도구(Brook)가 됐고, 회사의 베팅(CUDA, 2006)이 됐고, 한 산업의 표준(딥러닝 시대, 2012~)이 됐고, 결국 한 회사의 5조 달러짜리 해자(2026)가 됐다. 그 과정 어디에도 운명적인 통찰이 한 번에 작용한 지점은 없다. 매 시점마다 다음 단계의 선택은 단지 "지금까지 만든 것을 좀 더 쓸 만하게 다듬는다"는 평범한 결정이었다.
"가속 컴퓨팅은 언젠가 중요한 분야가 된다는 단순한 믿음 — 그게 CUDA의 시작이었다."
2026년 시점에서 CUDA가 깨질 수 있는 시나리오는 두 가지뿐이다. 하나는 어떤 경쟁자가 같은 라이브러리 탑을 같은 안정성으로 다시 쌓는 것 — 가능하지만 5~10년이 걸린다. 다른 하나는 AI 연산의 본질이 바뀌어 GPU가 아닌 다른 종류의 하드웨어가 표준이 되는 것 — 가능하지만 시점을 예측하기 어렵다.
둘 다 가능한 일이고, 어느 쪽도 짧은 시간에 일어나지 않는다. 그래서 2026년 봄 현재, CUDA는 단순히 "엔비디아의 소프트웨어"가 아니라 "AI 산업이 굴러가는 데 필요한 공기 같은 무언가"에 가까운 위치에 있다. 그 자리는 다음 박사 과정 학생의 32장짜리 게임용 컴퓨터가 또 한 번 등장하기 전까지는 — 비어 있지 않을 것이다.