제0부 개관
0.2 수직 통합과 이 책의 학습 지도
0.2.1 이 장에서 배우는 것 / 선수 지식
0.1에서 "왜 풀스택인가"(전략·해자)를 봤다. 이 장은 그 스택을 6개 층으로 해부하고, 임의의 워크로드를 그 층에 매핑해 무엇을 배우고 무엇을 건너뛸지 정하는 사고틀을 세운다. 이 매핑은 이 책 132개 장 전체를 항해하는 나침반이다.
학습 목표:
- 엔비디아 스택을 실리콘 → 시스템 → 네트워킹 → CUDA-X → 도메인 프레임워크 → 앱의 6개 층위로 분해하고, 각 층의 역할과 인접 층과의 계약(인터페이스)을 설명한다.
- "위 층 코드를 보존한 채 아래 층 성능을 흡수"하는 안정 인터페이스가 왜 편익이자 종속인지 설명한다.
- 임의의 워크로드를 5단계 매핑으로 분해해 "닿는 층 / 안 닿는 층"을 가른다.
- 도메인(데이터센터 AI·자율주행·로보틱스·시뮬레이션) ↔ SDK 매핑표를 읽고 자기 문제를 SDK로 번역한다.
- 이 책의 두 학습 경로(순차 vs 도메인 직행)를 자기 목표에 맞게 선택한다.
선수 지식: 0.1(풀스택 전략·해자). 실습 환경은 0.3·A.1.
정직성(S-5): 제품명·SDK 명칭·세대 구분은 시점 의존이다. 본문은 구조를 가르친다 — 구체 사양은 4.1 이후·공식 문서로 확인한다.
0.2.2 큰 그림 — 6개 층위
아래는 이 책 전체를 한 장의 그림으로 압축한 것이다. 위로 갈수록 "문제(앱)"에, 아래로 갈수록 "물리(트랜지스터)"에 가깝다. 각 층 오른쪽은 이 책에서 그 층을 다루는 부(部)다.
위(L6)는 문제에, 아래(L1)는 물리에 가깝다. 각 층은 아래 층을 "당연한 것"으로 쓰고, 위 층에 인터페이스를 노출한다.
핵심 통찰: 엔비디아는 이 6개 층을 거의 전부 직접 만든다. 풀스택 소유가 강점(통합 최적화·일관 경험)이자 약점(폐쇄성·종속)이며, 이 양면성이 이 책 전반의 트레이드오프 논의의 근원이다(0.1).
0.2.3 메커니즘 — 각 층은 무엇을 하고 어떻게 맞물리나
0.2.3.1 층별 역할과 인접 계약
각 층이 "아래에서 무엇을 받고, 위에 무엇을 주는가"를 보면 스택의 작동 원리가 보인다.
| 층 | 핵심 구성요소 | 아래 층에 의존하는 것 | 위 층에 제공하는 계약(인터페이스) | 책 |
|---|---|---|---|---|
| L1 실리콘 | GPU·CPU·DPU·SoC | (물리·공정) | ISA·연산 유닛(SM·텐서코어)·메모리 대역폭 | 1.1~1.14, 4.2·4.4 |
| L2 시스템 | DGX·HGX·DRIVE·Jetson | 칩 패키지·전력·열 | 폼팩터·전원·I/O·devkit | 4.1, 4.9, 9.1 |
| L3 네트워킹 | NVLink·NVSwitch·IB·DPU | PCIe·SerDes 링크 | GPU 간 대역폭·집합통신 토폴로지 | 4.6·4.7, 4.11·4.12 |
| L4 CUDA-X | cuBLAS·cuDNN·TensorRT·Triton·NCCL | CUDA 런타임·드라이버 | 고수준 연산 API(GEMM·conv·attention·서빙) | 2.1~3.8, 5.1~5.15 |
| L5 도메인 프레임워크 | NeMo·DRIVE·Isaac·Omniverse | CUDA-X 라이브러리 | 도메인 워크플로우(학습·인지·시뮬·배포) | 제6·8·9·10부 |
| L6 앱/솔루션 | 고객 제품 | 도메인 SDK | 최종 사용자 기능 | 11.1 |
계약(인터페이스)의 안정성이 해자의 비결이다. L4(CUDA-X)의 API는 L1(칩 세대)이 바뀌어도 대체로 유지된다 — Hopper에서 Blackwell로 칩이 바뀌어도 cublasGemmEx 호출은 그대로 두고 라이브러리만 재컴파일하면 새 텐서코어를 쓴다. 즉 위 층 코드를 보존한 채 아래 층의 성능 향상을 흡수하는 것이 CUDA-X의 설계 목표다. 이 "재컴파일하면 빨라진다"는 약속이 고객을 묶는다.
이 설계의 양면:
- 편익(고객): 칩 세대 교체 시 라이브러리만 업데이트하면 새 텐서코어 성능을 코드 변경 없이 얻는다(이식·재작성 비용 절감).
- 종속(이면): 같은 코드가 경쟁 칩으로는 안 옮겨진다. 안정 인터페이스가 곧 잠금이다. 성능 향상의 이득을 누릴수록 벤더 종속이 깊어진다 — 분리의 편익과 잠금이 동전 양면이다.
0.2.4 워크스루 — 내 워크로드가 스택의 어느 층에 닿는가
이 장은 코드 실습 장이 아니다(그것은 2.1부터). 대신 모든 후속 장의 전제가 되는 사고 실습을 한다: 임의의 워크로드를 받아 스택 층으로 분해하고, 어느 층에서 의사결정·튜닝·디버깅이 일어나는지 짚는다.
0.2.4.1 절차 — 5단계 층위 매핑
어떤 워크로드든 아래 5단계로 분해한다.
핵심 규칙: 위에서 아래로 묻되, 튜닝은 아래에서 위로 한다. 즉 무엇을 만들지(L6)부터 정의해 SDK를 고르고, 성능 문제가 나면 가장 낮은 층(메모리·커널)부터 의심한다.
0.2.4.2 워크스루 A — "사내 문서 RAG 챗봇"
산출물부터 거꾸로 내려가 본다.
| 단계 | 질문 | 이 워크로드의 답 | 닿는 층 / 책 |
|---|---|---|---|
| [1] | 산출물? | 사내 위키에 답하는 챗봇 API | L6 |
| [2] | 워크플로우? | 검색증강생성(RAG) + LLM 추론 서빙 | L5: NIM·RAG 스택 → 6.7·6.9 |
| [3] | 병목 연산? | LLM 디코딩(메모리바운드)·임베딩 GEMM | L4: TensorRT-LLM·Triton → 5.7~5.14 |
| [4] | 몇 GPU? | 모델이 한 GPU에 들어가면 단일, 크면 텐서병렬 | L3: NVLink(노드 내) → 4.6 |
| [5] | 어디서? | 데이터센터 GPU(서버) | L2·L1: HGX·Blackwell → 4.1·4.4 |
해석: 이 팀이 매일 만지는 층은 L5·L4(SDK·서빙·정밀도)다. 칩(L1)·시스템(L2)은 "주어진 것"이다. 그래서 학습 우선순위는 제5·6부이고, 토대로 제3부(라이브러리)를 끌어온다. 자율주행·로보틱스 부(제8·9부)는 이 워크로드에 무관하다 — 모든 장을 읽을 필요가 없다는 점이 이 매핑의 실용적 결론이다.
0.2.4.3 워크스루 B — "자율주행 차량의 실시간 인지 파이프라인"
같은 5단계를 전혀 다른 워크로드에 적용한다.
| 단계 | 질문 | 이 워크로드의 답 | 닿는 층 / 책 |
|---|---|---|---|
| [1] | 산출물? | 차량 내 실시간 객체 인지 + 안전 보장 | L6 |
| [2] | 워크플로우? | 센서 수집·전처리·인지 추론, 기능안전(ASIL) | L5: DriveWorks·DRIVE OS → 8.6·8.13, 안전 8.8~8.11 |
| [3] | 병목 연산? | 카메라 인지 CNN·전처리, 고정기능 가속 활용 | L4 + DLA·PVA → 8.4·8.5, TensorRT 5.2 |
| [4] | 몇 GPU? | 단일 SoC 내부(GPU+DLA+CPU 이기종) | L3 없음(차량은 스케일아웃 아님) |
| [5] | 어디서? | 차량 임베디드 SoC(전력·열·인증 제약) | L2·L1: DRIVE·Orin/Thor → 8.1·8.2 |
해석: 워크로드 A와 B는 닿는 층이 거의 안 겹친다. A는 데이터센터 스케일아웃(L3 NVLink 중요)·생성형 SDK 중심, B는 단일 SoC 이기종 컴퓨팅·기능안전 중심이며 L3(스케일아웃)이 아예 없다. 두 워크로드가 공유하는 것은 L1 텐서코어와 L4 TensorRT(추론 최적화) 정도다. 이것이 "도메인 직행" 학습 경로(0.2.6)가 합리적인 이유다 — 토대(제1~3·5부)만 공유하고 도메인 부는 분기한다.
0.2.4.4 워크스루의 일반 교훈
두 워크스루에서 공통으로 끌어낼 규칙:
- L6→L5→L4 순으로 정의하고, 디버깅은 L4→L1로 내려간다. "느리다"의 원인은 거의 항상 낮은 층(메모리바운드·커널·전송)에 있다(1.10 루프라인 참조).
- 닿지 않는 층은 안 배워도 된다. 데이터센터 LLM 팀은 DLA·PVA(8.4)를 몰라도 된다. 책 전체를 순차로 읽는 것은 토대 학습자에게만 권한다.
- 도메인이 달라도 토대(L1·L4 일부)는 공유된다. 텐서코어·정밀도·TensorRT는 거의 모든 워크로드에 닿는다 — 그래서 제1·3·5부가 공통 토대다.
0.2.5 도메인 ↔ SDK 매핑
자기 문제를 "어느 SDK를 배워야 하나"로 번역하는 표다. SDK 명칭은 리브랜딩이 잦다(BK-05, "현재 명칭, 확인 필요").
| 도메인 | 핵심 과제 | 주력 SDK / 프레임워크 (L5) | 의존 라이브러리 (L4) | 시스템 (L2) | 책 |
|---|---|---|---|---|---|
| 생성형 AI 학습 | 대규모 LLM 분산 훈련·미세조정 | NeMo, Data Curator | NCCL, cuDNN, Transformer Engine | DGX·HGX | 6.2~6.6 |
| 생성형 AI 추론·서빙 | 저지연·고처리량 LLM 서빙 | NIM, RAG 스택 | TensorRT-LLM, Triton | HGX | 5.7~5.15, 6.7·6.9 |
| 엔터프라이즈 MLOps | k8s GPU 운영·관측·라이선스 | AI Enterprise, GPU Operator | DCGM | DGX·클라우드 | 7.1~7.7 |
| 자율주행 | 차량 인지·계획·기능안전 | DRIVE OS, DriveWorks, Hyperion | TensorRT, DLA·PVA | DRIVE (Orin·Thor) | 8.1~8.15 |
| 로보틱스(엣지) | 로봇 인지·매니퓰레이션·ROS 가속 | Isaac ROS, Isaac SDK, DeepStream | TensorRT, VPI, NITROS | Jetson | 9.1~9.10 |
| 로봇 학습·시뮬 | 강화학습·시뮬에서 정책 훈련 | Isaac Sim, Isaac Lab | PhysX, CUDA-X | DGX(학습)+워크스테이션 | 9.11~9.14 |
| 시뮬·디지털트윈 | 합성데이터·디지털트윈·피지컬AI | Omniverse, Replicator, OpenUSD | RTX, CUDA-X | 워크스테이션·DC | 10.1~10.11 |
| HPC·과학계산 | 수치·과학 워크로드 가속 | (도메인별) | cuSOLVER·cuFFT 등 CUDA-X | HGX | 2.15 (개관) |
읽는 법: 왼쪽(내 도메인)에서 시작해 오른쪽으로 가며 닿는 층을 모은다. 그 행의 L4·L5·L2가 곧 자기 학습 목록이다. 한 행만 봐도 책의 어느 부를 읽을지 정해진다.
0.2.6 이 책의 두 학습 경로 — 순차 vs 도메인 직행
이 책은 132개 장이다. 전부 순서대로 읽을 필요는 없다(0.2.4의 교훈). 두 경로가 있다.
① 순차 경로 (토대부터) — 추천: GPU·CUDA를 제대로 익히려는 사람, 시스템·HPC 아키텍트, 신규 진입자.
② 도메인 직행 경로 (목표부터) — 추천: 이미 토대를 아는 실무자, 특정 제품 마감이 있는 팀.
| 경로 | 적합한 독자 | 장점 | 위험 |
|---|---|---|---|
| 순차 | 토대 미보유·아키텍트 | 깊은 이해, 디버깅 능력 | 목표까지 오래 걸림 |
| 도메인 직행 | 토대 보유·마감 압박 | 빠른 적용 | 토대 구멍 → 성능 디버깅 한계(1.10·2.14로 보강 필요) |
역할별 상세 로드맵은 A.4에 있다 — "추론 서빙 엔지니어가 읽을 순서", "자율주행 인지 엔지니어가 읽을 순서" 등 역할 기준으로 장 순서를 제시한다. 이 장이 지도라면, A.4는 목적지별 추천 경로다.
0.2.7 중간 점검 (체크포인트)
여기까지 이해했다면 다음을 할 수 있어야 한다.
- [ ] 6개 층(L1~L6)을 순서대로 말하고 각 층의 대표 구성요소를 하나씩 제시한다.
- [ ] "위 층 보존, 아래 층 흡수" 인터페이스가 왜 편익이자 종속인지 한 문장으로 설명한다.
- [ ] 임의의 워크로드를 받아 5단계 매핑으로 "닿는 층"과 "안 닿는 층"을 가른다.
- [ ] 자기 워크로드가 순차 학습 대상인지 도메인 직행 대상인지 판단한다.
막히는 신호와 의심처:
- 6개 층이 안 떠오르면 → 0.2.2 다이어그램을 백지에 재현해 본다.
- 워크로드 매핑이 안 되면 → 산출물(L6)부터 정의했는지 확인한다. 보통 [3] 병목 연산부터 생각해서 꼬인다.
0.2.8 흔한 함정
- 함정 1 — 전부 순차로 읽으려다 지침. 데이터센터 LLM 팀이 DRIVE·DLA(제8부)를 읽을 이유는 없다. 0.2.4 매핑으로 안 닿는 층을 잘라내라.
- 함정 2 — 병목 연산(L4)부터 생각해 매핑이 꼬임. 항상 산출물(L6)→워크플로우(L5)→연산(L4) 순으로 내려가야 한다. 위에서 아래로 정의, 아래에서 위로 디버깅.
- 함정 3 — "안정 인터페이스 = 무비용 이식성"으로 오해. L4 API 안정성은 엔비디아 칩 세대 간에서만 보장된다. 경쟁 칩으로는 안 옮겨진다(종속). 0.2.3.1의 양면을 기억하라.
- 함정 4 — 도메인이 다르면 토대도 다 다르다고 가정. 텐서코어·정밀도·TensorRT(제1·3·5부)는 거의 모든 도메인이 공유한다. 토대를 도메인마다 새로 배우지 말 것.
0.2.9 연습문제
각 문제 아래
정답:을 접어 둔다. 먼저 스스로 풀어라.
연습 1 (층위 매핑). "공장 라인의 결함을 검사하는 엣지 비전 시스템"을 0.2.4.1의 5단계로 분해하라. 각 단계가 닿는 층(L1~L6)과 이 책의 부(部)를 적어라.
정답
[1] 산출물=실시간 결함 판정 → L6. [2] 워크플로우=엣지 비전 추론 파이프라인 → L5: DeepStream·Isaac ROS(9.5·9.7). [3] 병목=CNN 추론·전처리 → L4: TensorRT·VPI(5.2·9.6). [4] GPU 수=단일 모듈(스케일아웃 없음) → L3 해당 없음. [5] 위치=엣지 → L2·L1: Jetson(9.1·9.2). 닿지 않는 층: L3 스케일아웃, 자율주행 안전(제8부)·생성형 학습(제6부). 학습 우선순위는 제9부 + 토대 제1·3·5부 일부.
연습 2 (인터페이스 안정성). "위 층 코드를 보존한 채 아래 층 성능 향상을 흡수한다"는 설계가 고객·엔비디아 각각에게 주는 이득과, 그 이면의 종속 효과를 설명하라.
정답
고객 이득 — 칩 세대 교체 시 cuBLAS/cuDNN만 재컴파일·업데이트하면 새 텐서코어 성능을 코드 변경 없이 얻는다(이식·재작성 비용 절감). 엔비디아 이득 — 고객 코드가 CUDA-X API에 묶여 누적 전환 비용(해자)이 커진다. 이면 — 안정적 인터페이스가 곧 종속이다. 같은 코드가 경쟁 칩으로는 안 옮겨지므로, 성능 향상의 이득을 누릴수록 벤더 종속이 깊어진다.
연습 3 (경로 선택). 당신은 LLM 추론 지연을 줄이는 임무를 받은, GPU·CUDA 토대를 이미 아는 엔지니어다. 순차 vs 도메인 직행 중 무엇을 택하고, 어떤 장을 어떤 순서로 읽겠는가?
정답
도메인 직행이 적합(토대 보유 + 명확한 목표). 0.2.5 매핑의 "생성형 AI 추론·서빙" 행 → 제5부(5.1 개관 → 5.4·5.5 TensorRT 정밀도/양자화 → 5.7~5.10 TensorRT-LLM → 5.11~5.14 Triton). 지연 디버깅이 어려우면 토대 역참조: 메모리바운드·루프라인 1.10, 정밀도 1.13, 프로파일링 2.14. 역할 기준 추천 순서는 A.4.
연습 4 (도전, 직접 해보기). 당신 조직의 실제(또는 가상의) AI 워크로드 하나를 골라 0.2.4 5단계 매핑표를 채우고, 0.2.5에서 닿는 SDK 행을 찾아, "읽어야 할 장 / 읽지 않아도 될 부"를 한 문단으로 정리하라. 이 산출물이 당신의 개인 학습 로드맵 초안이다.
정답(채점 기준)
정답이 하나가 아니다. 다음을 갖췄으면 잘 한 것이다 — ① L6→L5→L4 순으로 정의했는가(병목부터 시작하지 않았는가), ② 닿지 않는 층을 명시적으로 잘라냈는가, ③ 매핑표 행의 L4·L5·L2를 실제 NV-NN 장으로 연결했는가, ④ 토대 구멍(1.10·1.13·2.14 등)을 역참조 후보로 남겼는가. A.4와 대조해 보완하라.
0.2.10 요약 · 다음 장
- 엔비디아 스택은 실리콘(L1)→시스템(L2)→네트워킹(L3)→CUDA-X(L4)→도메인 SDK(L5)→앱(L6) 6개 층이며, 각 층은 아래를 쓰고 위에 안정 인터페이스를 노출한다.
- L4(CUDA-X)의 안정 인터페이스가 "재컴파일하면 빨라진다"를 가능케 하며 — 이것이 편익이자 종속이다.
- 워크로드를 5단계로 매핑하면 닿는 층·안 닿는 층이 갈리고, 학습 범위가 정해진다 — 132개 장을 다 읽을 필요는 없다.
- 경로는 순차(토대부터) 와 도메인 직행(목표부터) 두 가지. 역할별 상세는 A.4.
다음 장: 0.3 학습 환경 준비 — 드라이버·CUDA Toolkit·NGC 컨테이너·devkit를 갖추고 이 책 실습의 공통 전제를 세운다. 토대 경로라면 이어서 1.1(처리량 vs 지연 컴퓨팅) 으로, 도메인 직행이라면 0.2.5 매핑표의 자기 행으로 분기한다.