CUDA是什么(看这篇就够了)

CUDA是AI大模型的核心,下面我详解CUDA@mikechen

CUDA

CUDA(Compute Unified Device Architecture)是 NVIDIA 官方网站 推出的并行计算平台、和编程模型。

CUDA,也常被译为“统一计算设备架构”。

它是 NVIDIA 专有的并行计算平台和编程模型,主要用于让开发者利用 NVIDIA GPU 做通用计算,而不只是图形渲染。

CUDA是什么(看这篇就够了)-mikechen

它的核心目标很明确:让开发者能够直接利用 GPU 的大规模并行能力,加速科学计算、图像处理、深度学习、数据分析等任务。

简单理解:CUDA = 让程序员能够直接使用 GPU 进行通用计算的技术。

 

为什么需要CUDA?

在 CUDA 出现之前,GPU 主要用于图形渲染。

例如:

玩游戏;
3D建模;
视频渲染;

后来 NVIDIA 发现:GPU拥有大量计算核心,非常适合大规模并行计算。

CUDA是什么(看这篇就够了)-mikechen

如果有 CUDA,GPU 可以用于:

  • AI训练;
  • 深度学习;
  • 科学计算;
  • 大数据分析;
  • 视频编码;
  • 自动驾驶;

于是推出 CUDA,使 GPU 不仅能画图,还能计算。

 

CUDA原理

一个典型的 CUDA 程序由两部分组成:

CUDA是什么(看这篇就够了)-mikechen

CPU 端代码:负责分配内存、初始化数据、启动 GPU 计算、回收资源;

GPU 负责执行大规模并行计算。

两者通过 PCIe、 或 NVLink 通信。

核心流程,如下:

  1. 在 GPU 上分配显存(cudaMalloc);
  2. 将数据从 CPU 内存拷贝到 GPU 显存(cudaMemcpy);
  3. 启动核函数(Kernel<<<Blocks, Threads>>>)在 GPU 上并行计算;
  4. 将计算结果从 GPU 显存考回 CPU 内存(cudaMemcpy);
  5. 释放显存(cudaFree)。

评论交流
    说说你的看法