CUDA
CUDANVIDIA GPU 编程接口
亦作、亦称:Compute Unified Device Architecture
CUDA(Compute Unified Device Architecture)是 NVIDIA 于 2006 年底发布的通用并行计算平台与编程模型,让开发者能够用类 C 语言直接调度 GPU 的数千个核心执行大规模并行运算。它是当代深度学习训练与推理生态的核心基础设施,几乎所有主流框架的 GPU 加速路径都建立在它之上。
概述
CUDA(Compute Unified Device Architecture)是 NVIDIA 于 2006 年底发布的通用并行计算平台与编程模型,让开发者能够用类 C 语言直接调度 GPU 的数千个核心执行大规模并行运算。它是当代深度学习训练与推理生态的核心基础设施,几乎所有主流框架的 GPU 加速路径都建立在它之上。
核心定位
CUDA 将 GPU 从图形专用硬件变为可编程的通用并行处理器,开创了 GPGPU(通用 GPU 计算)时代。
- 全称:Compute Unified Device Architecture,强调统一的计算架构抽象
- 编程接口:开发者用 CUDA C/C++ 编写「内核函数」(Kernel),由编译器 NVCC 编译为 PTX 中间码再映射到硬件指令
- 平台组成:包含编译器、运行时(CUDA Runtime)、调试器、性能分析器以及丰富的加速库
- 生态地位:PyTorch、TensorFlow、JAX 等主流框架的 GPU 算子底层均调用 CUDA 内核
线程层次结构
CUDA 以四级嵌套结构组织并发执行单元,是性能调优的关键理解点。
- Thread(线程):最小执行单元,每条线程独立运行内核函数
- Warp(束):32 条线程组成一个 Warp,由流多处理器(SM)以 SIMD 方式同步执行;分支分叉(Branch Divergence)会导致序列化
- Block(线程块):多个 Warp 组成一个线程块,块内线程可通过共享内存(Shared Memory)低延迟通信
- Grid(网格):多个块构成网格,对应一次完整的内核启动;块之间相互独立,便于跨 SM 扩展
内存模型
合理利用 GPU 内存层次是 CUDA 性能优化的核心,不同层级速度差异可达百倍。
- 全局内存(Global Memory):容量最大(数 GB),延迟最高,所有线程均可访问;内存合并访问(Coalesced Access)可大幅提升带宽利用率
- 共享内存(Shared Memory):片上缓存,Block 内线程共享,延迟极低,相当于可编程的 L1 缓存
- 寄存器(Registers):每条线程私有,速度最快,但数量有限,超出时发生「寄存器溢出」
- 常量内存 / 纹理内存:只读路径,适合广播型访问模式,有专用缓存加速
- CUDA Stream:允许多个内核或数据传输并发执行,用于隐藏 CPU-GPU 通信延迟
核心库与工具链
CUDA 生态提供大量高性能库,深度学习框架直接依赖这些库而无需手写底层内核。
- cuBLAS:GPU 版 BLAS 线性代数库,覆盖矩阵乘法(GEMM)等核心操作,Transformer 训练的矩阵计算直接依赖
- cuDNN:深度神经网络加速库,实现卷积、池化、归一化、注意力等算子的高度优化版本
- TensorRT:推理优化引擎,支持层融合、INT8/FP16 量化,大幅降低部署延迟
- NCCL:多 GPU/多节点集合通信库,AllReduce 等分布式训练操作的底层实现
- Thrust / CUB:并行算法模板库,提供类 STL 风格的 GPU 数据结构与算法
发展脉络
CUDA 的演进与深度学习的崛起高度交织,推动了现代 AI 基础设施的形成。
- 2006:NVIDIA 于 11 月宣布 CUDA,同期发布 G80(GeForce 8 系列)架构,首次支持通用并行计算
- 2007:CUDA 1.0 正式发布,开放 GPU 通用计算能力给外部开发者
- 2012:AlexNet 在 ImageNet 比赛夺冠,其训练依赖两块 GTX 580 + CUDA,标志 GPU 深度学习时代到来
- 2014:cuDNN 1.0 发布,大幅简化卷积神经网络的 GPU 编程门槛
- 2017:Volta 架构(V100)引入张量核心(Tensor Core),专为混合精度矩阵乘法设计,训练吞吐大幅提升
- 2020:Ampere 架构(A100)发布,支持 TF32/BF16,成为大模型训练主力
- 2022:Hopper 架构(H100)引入 FP8 精度与 Transformer Engine,针对大语言模型训练进一步加速
局限与常见误区
CUDA 并非万能,使用中存在一些常见认知误区与实际瓶颈。
- 误区「换 GPU 就自动变快」:低效的内存访问模式、频繁的 CPU-GPU 数据搬运(PCIe 瓶颈)、过小的 batch size 都会让 GPU 利用率极低
- 厂商锁定:CUDA 代码只能运行在 NVIDIA GPU 上,迁移到 AMD(ROCm)或 Apple Silicon 需要重写或使用转译工具
- 显存瓶颈:GPU 显存(VRAM)远小于系统内存,大模型训练中显存溢出(OOM)是常见障碍
- 版本兼容陷阱:框架编译时绑定特定 CUDA 版本,升级驱动或更换硬件后需对应重新配置环境
- 竞争替代方案:AMD ROCm/HIP、Intel OneAPI、Apple Metal 正持续追赶,但 CUDA 的软件积累壁垒仍显著
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「NVIDIA GPU 编程接口」
- 「深度学习跑在显卡上的基础」
- 「写 GPU kernel 的平台」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 高级概念查看详解 →
什么是 CUDA?它与 PyTorch 有何关系?
CUDA 是 NVIDIA 的 GPU 并行计算平台;PyTorch 内置 CUDA 后端,将张量和算子放到 GPU 上加速训练,通过 tensor.to("cuda") 和 cuda 设备管理使用。
- 高级系统设计高频查看详解 →
当AI工具链因地缘政治分裂时,如何设计一个能同时支持国产和进口芯片+模型的「主权对冲」架构?
GPT-5.6限制发布与GLM-5.2开源对标标志着AI工具链从「全球共享」走向「主权分割」。设计一个能同时支持国产芯片(昇腾/寒武纪)和进口芯片(NVIDIA/AMD)、国产模型(GLM-5.2/Qwen-3)和海外模型(GPT-5.6/Claude)的「主权对冲」架构,成为企业AI基础设施的新刚需。
- 初级概念查看详解 →
深度学习为什么要用 GPU?
GPU 有数千核擅长大规模并行矩阵运算,深度学习是大量并行矩阵乘,比 CPU 快几十倍。
- 高级概念查看详解 →
MLOps 生命周期包含哪些关键阶段?
MLOps 生命周期:问题定义 → 数据工程 → 实验/训练 → 评估验证 → 部署 → 监控 → (触发)再训练,形成持续改进闭环。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
- 1
NVIDIA RTX Spark:消费级AI芯片架构与Windows AI代理平台全景解读
2026年6月1日,NVIDIA CEO黄仁勋在GTC Taipei/COMPUTEX 2026主题演讲中发布RTX Spark超级芯片——这是NVIDIA时隔十余年再次挑战PC处理器领域,将Blackwell GPU与20核Grace CPU集成于单一SoC,支持128GB统一内存和1 petaflop AI算力。本文系统解读RTX Spark的硬件架构、与微软合作的AI代理平台生态、Windows on Arm战略意义,以及对PC行业格局的深远影响。
- 2
AI 芯片地缘政治:从中美博弈到全球供应链重构
AI 芯片已成为 21 世纪最重要的战略资源。本文系统分析中美 AI 芯片博弈的全景:出口管制政策演变、英伟达的产品策略、国产芯片的突围路径、以及全球半导体供应链的重构趋势。
- 3
模型量化与压缩:从 FP32 到 INT4 的完整指南(ML 全场景)
系统讲解模型量化与压缩的核心技术——从 PTQ/QAT 实战到知识蒸馏与结构化剪枝,涵盖 INT8、INT4 等主流方案在 ML 全场景的应用
外部参考
维基百科:查看「CUDA」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
