CUDA(全称 Compute Unified Device Architecture,统一计算设备架构) 是 NVIDIA 在 2006 年推出的通用 GPU 编程模型—— 让你能用接近 C/C++ 的语法,直接在 GPU 上调度成千上万个线程并行计算。
为什么用 GPU? 一句话:CPU 擅长「快速做完一件事」,GPU 擅长「同时做很多件事」。 一颗现代 GPU 有上万个轻量线程,适合数据并行任务——同一段代码在不同数据上各跑一次。 深度学习、矩阵运算、图像处理、科学模拟全是这种模式,所以这些场景几乎都跑在 GPU 上。
CUDA 不是单一一门语言,而是一整套:
- 编程模型 —— kernel / 线程 / block / grid 这套并行抽象
- 编译器 ——
nvcc,把.cu文件编成能跑的可执行 - 运行时 API ——
cudaMalloc/cudaMemcpy/cudaLaunchKernel,管理 GPU 内存与执行 - 生态库 —— cuBLAS、cuDNN、CUTLASS、Thrust 等,常见操作不用从头写
读完接下来两章你会发现:写一个最简单的 CUDA 程序只需要几十行——难点不在语法, 而是先在脑子里建立「线程怎么分配、数据怎么搬」这个并行模型。
一句话总结:CUDA = 用 C/C++ 风格的代码,让 GPU 并行跑一个函数。
评论区
评论功能即将上线, 敬请期待。