제0부 개관
0.1 엔비디아 풀스택 전략과 "3개의 컴퓨터"
0.1.1 이 장에서 배우는 것 / 선수 지식
이 책의 출발점이다. 개별 기술에 들어가기 전에, 엔비디아가 왜 "GPU 회사"가 아니라 수직 통합 컴퓨팅 플랫폼 회사로 동작하는지, 그 전략이 어떤 해자(moat)로 굳어지는지, 마케팅 서사를 어디까지 믿어야 하는지를 비판적으로 세운다. 스택을 층으로 분해하고 내 워크로드를 매핑하는 사고틀은 다음 장(0.2)에서 잇는다.
학습 목표:
- 엔비디아의 풀스택 전략을 한 문장으로 정의하고, "칩이 아니라 스택 누적이 해자"라는 명제를 설명한다.
- "CUDA 해자" 를 세 겹(언어·런타임 / 라이브러리 생태계 / 도구·인력·관성)으로 분해하고, 경쟁사가 보통 어느 겹만 깨는지 안다.
- 엔비디아의 "3개의 컴퓨터"(학습·시뮬레이션·배포) 프레임을 그대로 받아들이지 않고, 서사와 실제 제품·워크플로우의 괴리를 구분한다.
- 경쟁 지형(AMD ROCm·Google TPU·ARM)에서 엔비디아의 포지션을 "어느 층을 공략하나"로 상대화한다.
선수 지식: GPU·딥러닝·컨테이너·리눅스 기초(BK-02 전제). 선행 장은 없다 — 이 장이 첫 장이다. 스택의 6개 층위 해부와 워크로드 매핑은 0.2, 실습 환경은 0.3·A.1에서 다룬다.
정직성 단서(S-5): 이 장의 제품명·SDK 명칭·세대 구분은 세대 교체·리브랜딩이 잦다. 본문은 "집필 시점 기준, 확인 필요"를 전제로 읽는다. 구체 수치(코어·대역폭·TOPS)는 거의 인용하지 않는다 — 이 장은 구조와 전략을 가르치지 사양표가 아니다. 사양은 4.1 이후·공식 데이터시트에서 확인한다.
0.1.2 왜 "풀스택"인가
0.1.2.1 GPU는 제품이 아니라 진입점이다
엔비디아의 매출 다수는 가속 칩에서 나오지만, 그 칩을 팔리게 만드는 것은 칩 위의 소프트웨어 스택이다. 동일한 트랜지스터라도, 위에 CUDA·cuDNN·TensorRT·도메인 프레임워크가 없으면 "빠른 행렬 곱셈기"일 뿐이다. 전략의 핵심을 한 문장으로:
실리콘 한 층만 팔지 않고, 워크로드가 닿는 모든 층을 직접 제공해 전환 비용을 누적시킨다.
이것이 "풀스택(full-stack) 전략"이다. 경쟁사가 더 빠른 칩을 내놓아도, 고객의 코드·파이프라인·운영 도구·인력 숙련이 전부 엔비디아 스택 위에 쌓여 있으면 칩만 바꿀 수 없다. 해자는 실리콘이 아니라 스택 전체의 누적이다.
엔비디아가 직접 만드는 층은 실리콘(GPU·CPU·DPU·SoC)부터 시스템(DGX·DRIVE·Jetson)·네트워킹(NVLink·InfiniBand)·라이브러리(CUDA-X)·도메인 SDK(NeMo·DRIVE·Isaac·Omniverse)·앱 솔루션까지 사실상 전 층이다. 경쟁사는 보통 한두 층(칩, 혹은 칩+일부 SW)만 제공하고 나머지는 오픈소스·파트너에 의존한다. 이 6개 층의 정확한 해부와 층간 계약은 0.2에서 다룬다 — 이 장은 "왜 그것이 해자가 되는가"에 집중한다.
0.1.2.2 "CUDA 해자"는 API 잠금 이상이다 — 세 겹
흔한 오해: "CUDA는 단순한 독점 API라서 못 떠난다." 실제 해자는 세 겹이고, 깊이가 다르다.
- 해자 1(언어) 은 가장 얕다. AMD HIP는 CUDA 소스를 상당 부분 기계 번역한다(0.1.4). 그래서 엔비디아도 여기에만 기대지 않는다.
- 해자 2(라이브러리) 가 본체다. cuDNN·CUTLASS는 세대마다 새 텐서코어 명령에 맞춰 수년간 누적 튜닝된 커널의 집합이다(3.2·3.4). 경쟁사가 "HIP로 컴파일은 된다"를 달성해도, 같은 칩에서 같은 성능을 내려면 이 커널 자산을 재현해야 하는데 이것이 비용이 크다.
- 해자 3(관성) 은 PyTorch·JAX 같은 상위 프레임워크의 기본 경로가 CUDA라는 사실, 그리고 엔지니어 채용 시장·문서·예제가 전부 CUDA 중심이라는 점이다. 기술적 우위가 사라져도 "옮길 이유가 없는" 상태를 만든다.
이 세 겹을 구분하면, 경쟁사 벤치마크를 읽을 때 "어느 해자를 깼다고 주장하는가"를 비판적으로 볼 수 있다. 보통은 해자 1(언어 호환)만 깨고 해자 2·3는 못 깬다.
해자의 설계적 토대는 "위 층 코드를 보존한 채 아래 층 성능 향상을 흡수"하는 안정 인터페이스다 — 칩이 Hopper→Blackwell로 바뀌어도
cublasGemmEx호출은 그대로 두고 라이브러리만 재컴파일하면 새 텐서코어를 쓴다. 이 메커니즘(편익이자 종속)은 0.2.3에서 층간 계약으로 자세히 본다.
0.1.3 "3개의 컴퓨터" — 프레임을 비판적으로 읽기
0.1.3.1 마케팅 서사
엔비디아는 피지컬 AI(로봇·자율주행) 개발을 "세 개의 컴퓨터" 로 설명한다. 발표·키노트에서 반복되는 프레임이다(발표 기준 서사이지 제품 SKU가 아님 — S-5).
서사의 메시지: "엔비디아는 학습→검증→배포 전 과정의 컴퓨터를 다 판다. 한 회사 스택으로 닫힌 루프를 실행하라." 이 세 꼭짓점은 이 책의 부(部)에 대응한다 — 학습=제6부(6.1~6.11), 시뮬=제10부(10.1~10.11), 배포=제8·9부(8.1~9.14).
0.1.3.2 어디까지가 사실이고 어디부터가 마케팅인가
이 프레임은 유용한 멘탈모델이지만 그대로 믿으면 오해한다. 정직하게 구분한다(S-5).
| 주장 | 실제 | 비판적 메모 |
|---|---|---|
| "3개의 분리된 컴퓨터" | 칩·시스템 관점에선 다 같은 GPU/SoC 계열. "3개"는 역할이지 별개 하드웨어 종류가 아니다 | 학습용 데이터센터 GPU와 배포용 Jetson은 같은 CUDA 계열이지만 메모리·전력·정밀도 제약이 크게 다르다 → 코드 그대로 옮겨지지 않음 |
| "닫힌 루프가 자동" | 학습→시뮬→배포 사이 데이터·포맷 변환은 수작업·통합 비용이 크다 | Sim2Real 도메인 갭(10.7)은 미해결 난제. "시뮬에서 됐으니 실차도 된다"는 보장 없음 |
| "Omniverse가 시뮬 표준" | 강력하지만 도입 비용·러닝커브가 크고, 많은 팀은 다른 시뮬레이터도 병행 | 합성데이터(10.5)가 실데이터를 대체하는 정도는 과제별로 천차만별 |
| "한 스택으로 전부" | 통합 이점은 실재하나 종속과 동전 양면 | 각 컴퓨터를 다른 벤더로 섞을 수 있다(학습은 엔비디아, 배포는 다른 가속기 등) |
실무 결론: "3개의 컴퓨터"는 학습 경로를 설정하는 데는 좋은 지도다. 그러나 제품 결정에서는 "세 컴퓨터가 매끄럽게 이어진다"는 약속을 검증 없이 사지 말고, 특히 시뮬↔실제 갭(10.7)과 학습↔배포 정밀도/메모리 갭(1.13·5.4)을 별도 리스크로 본다. 데모(키노트)와 양산 가용성을 구분하라(S-5).
0.1.4 경쟁 지형 — 엔비디아를 상대화하기
이 책은 경쟁사 제품을 깊이 다루지 않는다(BK-04 경계). 여기서는 엔비디아 스택을 상대화하는 좌표만 제공한다 — 각 대안이 "어느 층을 공략하는가"로 본다.
| 대안 | 공략 층 | 강점 | 한계(엔비디아 대비) | 누구에게 |
|---|---|---|---|---|
| AMD ROCm / HIP | 언어 호환·칩 | 오픈, CUDA 소스 기계 번역(HIP), 가격·가용성 | 해자 2(라이브러리 성숙도)·생태계·도구가 뒤처짐. 프레임워크 지원은 개선 중이나 불균등 | 비용·벤더다양화 우선, 라이브러리 자체 튜닝 여력 있는 팀 |
| Google TPU | 칩·시스템(수직, 자사 한정) | XLA·JAX와 긴밀, 대규모 학습 효율, 클라우드 통합 | 클라우드(GCP) 종속, 범용성·온프렘·엣지 부재 | JAX 중심·GCP 올인 조직 |
| ARM (CPU IP) | 명령어 아키텍처 | 전력효율, 라이선스 모델, 모바일·엣지 지배 | "가속기"가 아닌 CPU IP — AI 가속은 별도. 엔비디아도 Grace·SoC에 ARM을 채택함 | 비교 대상이라기보다 엔비디아가 흡수한 토대 |
| (참고) 클라우드 ASIC·스타트업 | 칩 | 특정 워크로드 효율 | 범용 스택·생태계 부재 | 단일 워크로드 대량 운영자 |
견해(라벨: 견해): 현시점에서 엔비디아의 결정적 우위는 칩 성능보다 라이브러리 + 도메인 SDK의 폭과 깊이(해자 2)다. 경쟁은 보통 언어·칩 층에서 좁혀지지만, 풀스택(전 층) 대안을 가진 곳은 사실상 없다. 따라서 "벤더 다양화"는 보통 층별 부분 대체(예: 학습은 엔비디아, 특정 추론은 다른 가속기)로 나타나지 ROCm/TPU로의 전면 이전으로 나타나기 어렵다. 이는 시점 판단이며 생태계 성숙도에 따라 변한다(S-5).
0.1.5 중간 점검 (체크포인트)
여기까지 이해했다면 다음을 할 수 있어야 한다.
- [ ] 풀스택 전략을 한 문장으로 말하고("실리콘만이 아니라 워크로드가 닿는 모든 층을 직접 제공"), "해자는 칩이 아니라 스택 누적"을 설명한다.
- [ ] "CUDA 해자"를 세 겹(언어·라이브러리·관성)으로 나누고, 경쟁사가 보통 어느 겹만 깨는지 제시한다.
- [ ] "3개의 컴퓨터"를 역할로 이해하고, 닫힌 루프·Sim2Real을 검증 없이 믿으면 안 되는 이유를 제시한다.
- [ ] ROCm·TPU·ARM을 "공략 층"으로 상대화한다.
막히는 신호와 의심처:
- "해자가 단순한 API 잠금 아닌가?"에서 멈췄다면 → 0.1.2.2의 해자 2(라이브러리 누적)를 다시 읽는다. 그것이 핵심이다.
- "3개의 컴퓨터"를 제품 SKU로 받아들였다면 → 0.1.3.2 표의 첫 행("역할이지 하드웨어 종류가 아니다")으로 교정한다.
0.1.6 흔한 함정
- 함정 1 — 마케팅 층위를 기술 층위로 착각. "3개의 컴퓨터"·"AI 팩토리" 같은 표현은 서사다. 제품 SKU·아키텍처 경계와 1:1 대응시키면 잘못된 설계 결정을 한다. 항상 0.2의 6개 기술 층으로 환원해 검증하라.
- 함정 2 — 칩 사양에 매몰. TOPS·TFLOPS 표를 비교하느라 라이브러리·SDK의 성숙도 차이(해자 2)를 놓친다. 실사용 성능은 칩보다 그 칩 위 라이브러리가 얼마나 튜닝됐나가 좌우할 때가 많다.
- 함정 3 — "닫힌 루프" 과신. 학습(DGX)·시뮬(Omniverse)·배포(Jetson/DRIVE) 사이 전환을 매끄럽다고 가정하면 Sim2Real 갭(10.7)·학습/배포 정밀도 갭(1.13·5.4)에서 깨진다. 각 경계를 별도 리스크로 본다.
- 함정 4 — SDK 명칭을 영구 고정으로 취급. 엔비디아는 SDK·서비스 명칭 리브랜딩·통폐합이 잦다. 본문 명칭은 "집필 시점, 확인 필요"다(BK-05). 결정 시 그 시점 공식 문서로 재확인하라.
- 함정 5 — 경쟁사 벤치마크를 액면 그대로 수용. "X가 CUDA 호환 달성"은 보통 해자 1(언어)만 깬 것이다. 같은 칩에서 같은 성능인지, 라이브러리·도구·프레임워크 지원까지 갖췄는지(해자 2·3)를 따로 확인하라.
0.1.7 연습문제
각 문제 아래
정답:줄에 해설을 둔다. 먼저 스스로 풀고 펼쳐 본다.
연습 1 (해자 분해). 어떤 경쟁사가 "우리 가속기에서 PyTorch 모델이 코드 수정 없이 실행된다"고 발표했다. 이 주장이 CUDA 해자의 세 겹(언어·라이브러리·관성) 중 어디를 깬 것인가? 무엇을 추가로 확인해야 하나?
정답
주로 해자 1(언어·프레임워크 호환)을 겨냥한 주장이다. 해자 2(라이브러리 성숙·같은 칩에서 같은 성능)와 해자 3(도구·프로파일러·운영·인력)은 별개다. 확인할 것: ① 대표 모델의 실측 처리량·지연이 동급 엔비디아 대비 어떤가, ② 양자화·분산·서빙 등 고급 경로 지원 범위, ③ 프로파일링·디버깅 도구와 운영 성숙도, ④ "코드 수정 없이"가 모든 연산자·정밀도에 적용되는지 아니면 일부만인지.
연습 2 ("3개의 컴퓨터" 비판). 한 로보틱스 팀이 "Isaac Sim에서 정책이 잘 학습됐으니 실제 로봇에 그대로 탑재하면 된다"고 말한다. 0.1.3.2를 근거로 두 가지 반론과 보완책을 제시하라.
정답
반론 ① Sim2Real 도메인 갭(10.7) — 시뮬 물리·센서 노이즈·조명이 실제와 다르면 정책이 전이되지 않는다. ② 학습(데이터센터)↔배포(Jetson) 환경 갭 — 정밀도·메모리·전력 제약으로 모델을 양자화·경량화해야 하며(5.4·9.3) 성능·정확도가 달라진다. 보완책: 도메인 랜덤화·합성+실데이터 혼합(10.5·10.6), 실로봇 소량 미세조정, 배포 전 타깃 하드웨어에서 정밀도·지연 검증.
연습 3 (포지셔닝). "우리는 비용 절감을 위해 학습 전체를 ROCm으로 옮기겠다"는 제안을 받았다. 0.1.4를 근거로 점검해야 할 리스크 세 가지를 들어라.
정답
① 해자 2 — 분산 학습 라이브러리(NCCL 대응)·혼합정밀도·프레임워크 백엔드 성숙도가 동급인가, 같은 칩에서 같은 처리량인가. ② 해자 3 — 프로파일링·디버깅 도구, 운영 자동화, 사내 인력 숙련·채용. ③ 전환 비용 — 기존 CUDA 종속 코드(커스텀 커널·TensorRT 등)의 재작성 범위. 결론적으로 전면 이전보다 층별 부분 대체가 현실적인 경우가 많다.
0.1.8 요약 · 다음 장
- 엔비디아는 실리콘부터 앱까지 거의 전 층을 직접 소유하는 풀스택 전략으로, 칩이 아니라 스택 누적을 해자로 삼는다.
- CUDA 해자는 언어(얕음)·라이브러리(본체)·관성의 세 겹이다. 경쟁(ROCm·TPU·ARM)은 보통 언어·칩 층만 공략한다.
- "3개의 컴퓨터"(학습·시뮬·배포)는 좋은 학습 지도이되, 닫힌 루프·Sim2Real을 검증 없이 믿지 말 것.
- 경쟁은 "공략 층"으로 상대화하면 보인다 — 풀스택 대안을 가진 곳은 사실상 없고, 다양화는 층별 부분 대체로 나타난다.
다음 장: 0.2 수직 통합과 이 책의 학습 지도 — 스택을 6개 층(실리콘→앱)으로 해부하고, 임의의 워크로드를 그 층에 매핑해 "무엇을 배우고 무엇을 건너뛸지"를 정하는 사고틀을 세운다. 그 뒤 0.3에서 실습 환경을 갖춘다.