CUDA 并行程序设计入门(第2版)
CUDA by Example: An Introduction to General-Purpose Parallel Computing, 2nd Edition
GPU 并行编程的实战指南
CUDA 并行编程的经典入门教材,通过大量实例讲解如何使用 CUDA C/C++ 编写 GPU 程序。覆盖 CUDA 编程模型、内存管理、线程同步、流与并发、CUDA 库等核心主题。适合有 C/C++ 基础、想入门 GPU 编程的开发者。
关联抽象层级
本教材覆盖以下抽象层级,帮助你建立从底层到顶层的完整知识体系。
GPU视角
本教材涉及的抽象层级在 GPU 上的对应实现:
计算机体系结构
计算机体系结构
SIMT 架构(132 SM × 128 CUDA 核心),Warp 调度器,NVLink 900 GB/s 互联
互联带宽:PCIe 5.0 ~64 GB/s vs NVLink ~900 GB/s
低级代码
低级代码
PTX 中间码 → SASS 原生码,CUDA 核函数,Warp 级并行
指令延迟:CPU ~1-4 cycles vs GPU ~4-20 cycles(但高并发)
为什么读这本书
GPU 编程是高性能计算和 AI 基础设施的核心技能。这本书用实战驱动的方式教你从零开始编写 CUDA 程序,理解 GPU 的并行执行模型。读完之后,你能写出比 CPU 快 10-100 倍的并行程序。
🎯AI 时代的学习建议
在 AI 能生成代码的今天,读这本书的价值不在于"学会写代码",而在于建立判断 AI 输出的能力。当你理解了计算机体系结构、低级代码的核心原理,你就能:
- •判断 AI 生成的代码是否符合底层约束 — 当 AI 推荐一段"优化"方案时,你能从冯·诺依曼机的角度判断它是否真的有效
- •向 AI 提出正确的问题 — 理解计算机体系结构、低级代码的设计动机,让你能精准描述问题,而不是模糊地求助
- •在 AI 方案遇到瓶颈时定位根因 — 当 AI 推荐的架构方案在流量峰值下崩溃,你能从汇编语言出发,推导出正确的取舍
阅读策略:不要试图记住所有细节。重点理解每一章的设计动机(为什么需要这个抽象?)和边界条件(什么情况下会失效?)。这些是 AI 无法替代你判断的部分。
理论-实践双轨学习路径
在 AI 代码生成能力快速演进的今天,掌握计算机体系结构、低级代码的本质概念比以往任何时候都更具战略价值。如何在 AI 时代系统性地掌握这些本质概念?我们推荐"理论-实践"双轨学习路径:
理论轨道:从经典教材中找 What 和 Why
通过经典教材深入理解每一层的核心概念(What)、设计动机(Why)与边界条件。理解为什么需要这个抽象?什么情况下会失效?这些是 AI 无法替代你判断的部分。
实践轨道:从交互沙盒中找 How
通过交互沙盒亲手操作、观察行为变化、建立工程直觉(How)。当你既理解了理论,又积累了实践经验,便能在 AI 生成的代码出现性能瓶颈时快速定位根因,在架构设计面临权衡时做出基于原理的决策。
💡 核心洞察:这正是从"AI 使用者"进阶为"AI 驾驭者"的关键能力——在 AI 生成的代码出现问题时快速定位根因,在架构设计遇到瓶颈时做出正确取舍。当你同时具备理论深度与实践经验,你才能成为驾驶 AI 机车的大牛。
章节导览
为什么选择 CUDA
GPU 计算的崛起
CUDA 编程基础
Hello World on GPU
线程与执行模型
SIMT 架构详解
GPU 内存管理
显存的层次结构
线程同步
协调并行线程
流与并发
重叠计算与传输
CUDA 库
站在巨人的肩膀上
性能优化
榨干 GPU 的每一滴性能
为什么选择 CUDA
GPU 计算的崛起
CUDA 编程基础
Hello World on GPU
线程与执行模型
SIMT 架构详解
GPU 内存管理
显存的层次结构
线程同步
协调并行线程
流与并发
重叠计算与传输
CUDA 库
站在巨人的肩膀上
性能优化
榨干 GPU 的每一滴性能
关联沙盒实验
CPU 步进器
CpuStepper
单步执行 CPU 指令流水线。观察每条指令如何经过取指→译码→执行→访存→写回五个阶段,理解 CPU 和内存的协作。
汇编游乐场
AssemblyPlayground
交互式汇编语言环境。编写简单的汇编程序,观察寄存器变化和内存访问,理解低级代码如何控制硬件。
硬件构建器
HardwareBuilder
从零构建 Hack 计算机。放置 ALU、寄存器、内存等组件并建立数据通路,理解计算机体系结构。对应 Nand2Tetris 第 5 章。
Cache Lab
CacheLab
CSAPP 缓存实验室。模拟缓存的工作原理,理解组相联、替换策略、缓存命中与缺失。
Bomb Lab
BombLab
CSAPP 炸弹实验室。阅读 x86-64 汇编代码,通过 6 个关卡拆除炸弹,掌握二进制调试技能。
CUDA 编程实验室
CudaLab
GPU 并行编程入门实验室。通过向量加法、标量乘法、矩阵转置等挑战,学习 CUDA 核函数、线程层次和内存管理。
标签
常见问题
CUDA 并行程序设计入门(第2版)是什么?
CUDA 并行程序设计入门(第2版)(CUDA by Example: An Introduction to General-Purpose Parallel Computing, 2nd Edition)是Jason Sanders、Edward Kandrot编写的计算机科学经典教材,由Addison-Wesley Professional出版。CUDA 并行编程的经典入门教材,通过大量实例讲解如何使用 CUDA C/C++ 编写 GPU 程序。覆盖 CUDA 编程模型、内存管理、线程同步、流与并发、CUDA 库等核心主题。适合有 C/C++ 基础、想入门 GPU 编程的开发者。
为什么要读CUDA 并行程序设计入门(第2版)?
AI 能帮你写代码,但不能帮你建立工程直觉。CUDA 并行程序设计入门(第2版)帮你深入理解CUDA、GPU编程、并行计算的核心概念和设计动机,让你能判断 AI 生成的代码是否符合设计约束。
CUDA 并行程序设计入门(第2版)适合什么水平的学习者?
CUDA 并行程序设计入门(第2版)适合有一定基础的进阶学习者。建议先掌握基础概念后再深入学习。
CUDA 并行程序设计入门(第2版)有多少章?主要内容是什么?
CUDA 并行程序设计入门(第2版)共 8 章,涵盖为什么选择 CUDA、CUDA 编程基础、线程与执行模型等核心主题。每章都配有详细的导读和核心概念解析。
如何配合交互沙盒学习CUDA 并行程序设计入门(第2版)?
建议采用理论-实践双轨学习法:从CUDA 并行程序设计入门(第2版)中找 What 和 Why,从交互沙盒中找 How。学完教材一章后,打开对应层级的沙盒亲手操作验证。这种学习方式建立的工程直觉,是 AI 无法替代的。