异构计算
就是一个计算机或者服务器,同时包含不同类型的处理器,如我们个人电脑常用的CPU+GPU,另外还有别的,在工业上也很常见,如CPU+DSP、CPU+FPGA等等。
异构架构
以深度学习服务器为例,最常见的搭配是1*CPU + n*GPU
CPU:复杂的逻辑控制和指令调度,通常成为主机端HOST
GPU:进行并行计算,通常称为设备端DEVICE

如上图所示,可以直接明了的看出主机和设备的区别:
-
CPU:4个重量级的ALU进行逻辑计算,笨重的控制单元
Control,因为需要进行复杂的逻辑控制;带一个片上缓存Cache;和一个不在片上的DRAM。应该是我们所说的内存条吧
GPU:他的ALU非常多,称之为Core,如红色方框所示,一行Core公用一个很小的Control,因为GPU本身不需要复杂的逻辑控制,以及一个很小的Cache。 -
CPU和GPU之间通过PCIE总线进行数据和指令调度,最新的NVIDIA支持带宽更高的NVLINK总线。其实,GPU和CPU之间的总线也是一个重要的性能瓶颈,因为GPU的Core越来越多,计算能力提升上去了,但是数据传输效率慢,就会导致整体性能下降。
因此,代码通常被区分为两类:
- 主机代码
- 设备代码
NVIDIA目前的计算平台:
| 分类 | 平台/架构名称 | 核心定位与用途 |
|---|---|---|
| 芯片微架构 (核心计算引擎) |
Vera Rubin / Blackwell / Hopper | 面向数据中心、大模型训练与智能体 AI 的历代核心 GPU 架构 |
| Vera / Grace | 专为解决 AI 海量吞吐与高带宽需求设计的数据中心 CPU 架构 | |
| Ada Lovelace | 面向消费级游戏显卡 (RTX PC) 与专业视觉工作站的 GPU 架构 | |
| 硬件系统平台 (整机与服务器) |
DGX | 官方“纯血”旗舰:开箱即用的 AI 超级计算机与企业级 AI 集群节点 |
| HGX / MGX | 开放生态:供服务器厂商(如联想、戴尔)组装的标准化/模块化底板平台 | |
| OVX | 图形渲染与仿真:专为 3D 建模、数字孪生及工业元宇宙设计的服务器 | |
| IGX | 边缘计算:面向医疗设备、工业自动化等要求极高实时性与安全性的平台 | |
| 网络与互联架构 (数据传输通道) |
NVLink & NVSwitch | 内部高速公路:专门用于单台机器或单个机柜内部 GPU 之间的极速互联 |
| Spectrum-X / Quantum | 集群网络:专为超大 AI 数据中心设计的无损以太网 (Ethernet) 与 InfiniBand | |
| BlueField DPU / SuperNIC | 减负网卡:卸载并加速数据中心的网络通信与安全计算,释放 CPU 算力 | |
| 软件与行业平台 (应用与生态) |
CUDA | 核心基石:支撑所有 NVIDIA 硬件的统一底层并行计算编程平台 |
| NIM (AI 微服务) | AI 部署:帮助企业极速部署本地生成式大模型和智能体 AI 推理的微服务 | |
| Omniverse | 虚拟空间:用于构建 3D 虚拟世界、工业级物理仿真及数字孪生的平台 | |
| DRIVE / Isaac / Clara | 行业大脑:分别针对 自动驾驶汽车 / 智能机器人 / 医疗生命科学 的专属计算平台 |
范例
权衡利弊,CPU和GPU各有各的好,优势互补为上策

CPU:更适合处理复杂的逻辑控制,串行
GPU:适合简单大量的并行计算
一个程序可以拆解成并行部分和串行部分。如下所示

CUDA:一种异构计算平台
CUDA平台不是只硬件和软件平台,而是建立在NVIDIA GPU上的一整套平台,并扩展出多语言支持

CUDA库提供了大量的API来操作设备完成计算
API分为两种层次
- CUDA驱动API
- CUDA运行时API
同时只能调用其中的一个,不能两个都同时调用,驱动API较为底层,运行时API较为高层

驱动API相对底层,使用困难;运行时API相对高层,使用简单,他是基于驱动API实现的
一个CUDA应用程序分为两个部分;串行部分为主机代码,主要用C编译器完成编译,在主机上运行;设备端代码,也就是核函数,用CUDA C编写,通过NVCC编译

CUDA编程一般步骤
- 声明线程格(Grid)、线程块(Block)和线程数量
CudaMalloc:在Device上为输入变量申请一块内存空间;CudaMemcpy:将Host上的变量值拷贝到设备内存中,Host2DeviceKernel:调用kernel计算;CudaMencpy:将device上的计算结果拷贝到Host,Device2Host;CudaFree:将设备上的内存释放干净,避免内存泄漏
