返回 ELI5 知识库首页 🟩 NVIDIA SOFTWARE EMPIRE
🎼 Compute Unified Device Architecture · Parallel Programming

什么是 CUDA(统一计算架构)?

GPU 硬件就像一座拥有 10,000 名顶级乐手的超级交响乐团;而 CUDA总指挥家手中的统一总谱与指挥棒 —— 让普通程序员用简短的 C++ 乐谱,瞬间调动万名乐手同时演奏震撼华章!

🏚️ 2006 前:痛苦的图形着色器 Hack

把数学题伪装成“游戏三角形”

在 CUDA 诞生前,科学家想用显卡加速算物理公式,必须把矩阵数字伪装成“3D 贴图多边形与像素颜色”,用复杂的 OpenGL/DirectX 骗显卡计算,门槛高如登天!

科学计算公式 硬套图形语言 伪装成 3D 贴图 😭 只有极少数图形极客才能勉强编程
  • 反人类开发:必须学习像素着色器(Pixel Shader)伪装数据
  • 无通用内存模型:显存无法自由读写,无法做跨线程数据交换
  • 生态孤岛:无法与现代 C/C++、Python 科学计算生态融合
VS
🟩 2006 后:CUDA 开启通用 GPU 革命

直接用 C/C++ 驾驭万核齐射

黄仁勋押上全部身家推出的统一编程框架:只需写一个 kernel<<>>() 核函数,数万个线程就会自动在 GPU 核心上并行执行!

C++ / PyTorch kernel<<<>>>() CUDA 调度 Grid 网格阵列 Threads 并发齐奏 ⚡ 全球程序员一键解锁超级算力!
  • 极低门槛:标准 C/C++ 语法扩展,像写普通多线程一样简单
  • 清晰层级:Grid ➔ Block ➔ Thread 树状调度模型
  • 统治级生态:PyTorch、cuDNN、TensorRT 均由 CUDA 筑基
💡

一句话顿悟:为什么说英伟达其实是一家“软件公司”?

世界上造出强大并行芯片的厂商有很多,但只有英伟达花了 20 年时间、每年投入数十亿美元把 CUDA 软件栈打磨成全球 AI 研究的标准通用语言。 没有 CUDA,GPU 只是一堆无法沟通的沉默硅片;有了 CUDA,它才是无所不能的 AI 大脑!

拆解 CUDA 并行编程的 4 大核心支柱

从层级调度到硬件映射,读懂 GPU 代码的运转奥秘

🎼

1. Kernel 核函数

运行在 GPU 上的核心代码段。由 CPU(Host)发起调用指令,一瞬间在 GPU(Device)上分发给数万个线程同时执行。

📦

2. Grid & Block 线程方阵

CUDA 的组织编制:一个 Grid 包含多个 Block(班组),每个 Block 包含多达 1024 个 Thread(单兵线程)。

3. Warp 32 线程束齐射

GPU 硬件调度的最小单元。32 个线程组成一个 Warp,在同一个时钟周期内严格执行同一条指令(SIMT 架构)。

🚚

4. Host-to-Device 显存搬运

经典的 3 步循环:把数据从内存拷贝到显存(cudaMemcpy)➔ 启动核函数计算 ➔ 把结果拷贝回内存。

🕹️ CUDA 线程层级与核函数交互演练台

观察 CUDA 编写的加法核函数如何被 Grid、Block 拆解并由线程并发点亮执行:

Grid 网格布局 (GPU 设备端) 2 Blocks · 16 Threads
// CUDA 核函数:每个线程自主计算自己负责的数组元素
__global__ void vectorAdd(float *A, float *B, float *C) {
  int idx = blockIdx.x * blockDim.x + threadIdx.x;
  C[idx] = A[idx] + B[idx]; // 并发无锁计算
}
执行状态: 待命 (Ready to launch)
💎 战略豪赌

黄仁勋 2006 年的生死抉择

推出 CUDA 初期,每张显卡都因额外硬件控制电路导致成本飙升、功耗增加,英伟达股价一度暴跌 70%。

但老黄坚持在每一块出货的 GPU 中强制植入 CUDA 支持,终于在 2012 年 AlexNet 深度学习爆发时迎来史诗级丰收。

🏰 生态护城河

cuDNN / TensorRT 的软件矩阵

开发者通常无需手写底层 CUDA 代码。英伟达官方封装了 cuDNN(深度学习算子库)、cuBLAS(线性代数)与 TensorRT(推理引擎)。

这些经过数十年极致调优的库,构成了让友商芯片望尘莫及的软件黑洞。

🚀 AI 时代的通用语法

PyTorch 与大模型的底层依托

你在 Python 里写一行 tensor.to('cuda'),背后就是 CUDA 驱动在毫秒级将数据搬上显存并唤醒 GPU 算力。

从 Transformer 训练到强化学习推理,CUDA 已成为整个人类 AI 科学计算的“事实底层基建”