当前位置: 首页 > news >正文

1.1 异构计算与CUDA

异构计算

就是一个计算机或者服务器,同时包含不同类型的处理器,如我们个人电脑常用的CPU+GPU,另外还有别的,在工业上也很常见,如CPU+DSPCPU+FPGA等等。

异构架构


以深度学习服务器为例,最常见的搭配是1*CPU + n*GPU
CPU:复杂的逻辑控制和指令调度,通常成为主机端HOST
GPU:进行并行计算,通常称为设备端DEVICE

image

如上图所示,可以直接明了的看出主机和设备的区别:

  • CPU:4个重量级的ALU进行逻辑计算,笨重的控制单元Control,因为需要进行复杂的逻辑控制;带一个片上缓存Cache;和一个不在片上的DRAM。应该是我们所说的内存条吧
    GPU:他的ALU非常多,称之为Core,如红色方框所示,一行Core公用一个很小的Control,因为GPU本身不需要复杂的逻辑控制,以及一个很小的Cache

  • CPUGPU之间通过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各有各的好,优势互补为上策
image

CPU:更适合处理复杂的逻辑控制,串行
GPU:适合简单大量的并行计算

一个程序可以拆解成并行部分和串行部分。如下所示
image

CUDA:一种异构计算平台


CUDA平台不是只硬件和软件平台,而是建立在NVIDIA GPU上的一整套平台,并扩展出多语言支持
image
CUDA库提供了大量的API来操作设备完成计算

API分为两种层次

  • CUDA驱动API
  • CUDA运行时API

同时只能调用其中的一个,不能两个都同时调用,驱动API较为底层,运行时API较为高层
image

驱动API相对底层,使用困难;运行时API相对高层,使用简单,他是基于驱动API实现的

一个CUDA应用程序分为两个部分;串行部分为主机代码,主要用C编译器完成编译,在主机上运行;设备端代码,也就是核函数,用CUDA C编写,通过NVCC编译
image

CUDA编程一般步骤


  1. 声明线程格(Grid)、线程块(Block)和线程数量
  2. CudaMalloc:在Device上为输入变量申请一块内存空间;
  3. CudaMemcpy:将Host上的变量值拷贝到设备内存中,Host2Device
  4. Kernel:调用kernel计算;
  5. CudaMencpy:将device上的计算结果拷贝到HostDevice2Host;
  6. CudaFree:将设备上的内存释放干净,避免内存泄漏
http://www.jsqmd.com/news/720987/

相关文章:

  • 从RetinaNet到YOLOv5:深入浅出图解Focal Loss原理,附PyTorch多分类任务实战代码
  • 割草机器人五层系统架构
  • 终极指南:3步解决PS手柄PC兼容问题,解锁完美游戏体验
  • GEO优化实战:五大核心策略与工具深度测评
  • 手机端千问 文心 元宝 Kimi怎么发图片
  • C++20 Concepts:让模板编程从“黑魔法”走向“契约时代”
  • Joy-Con Toolkit终极指南:深度解析Nintendo Switch手柄开源控制方案
  • Kafka-UI部署实践:从零构建企业级Kafka监控平台
  • 企业级安全设计:OS Keychain、输入注入防护与高危操作确认
  • Spring Boot项目从MySQL迁移到人大金仓KingBase V8R6实战:避坑指南与代码适配全记录
  • 调查记者深度采访 实用的律师证人访谈实操技巧
  • 别再瞎调参数了!PCL中MLS点云上采样的三个关键半径(r1, r2, r3)到底怎么设?
  • 7.AI入门:从机器学习到生成式AI,普通人也能看懂(七)—— 计算机视觉
  • 别再傻傻分不清了!Matlab里Unit Delay和Memory模块到底怎么选?(附Simulink仿真对比)
  • 内网穿透方案:Fish-Speech 1.5在企业防火墙后的部署
  • 每日安全情报报告 · 2026-04-29
  • Uniapp插件开发入门:手把手教你制作一个简单的Android原生插件(附Hello World示例)
  • 跨国软件企业的“合规风暴“:834号令三条红线深度解析与应对策略
  • 告别手动拼接命令!fscan实战:从B段扫描到Redis一键写公钥的保姆级参数指南
  • 10分钟搞定黑苹果:OpCore-Simplify自动化配置终极指南 [特殊字符]
  • Win11Debloat:3分钟快速清理Windows系统垃圾的终极免费工具
  • 【Vercel实用Skill】skill-creator 技能
  • Zotero浏览器扩展跨平台架构深度解析:如何实现学术文献一键保存的终极解决方案
  • 嵌入式编程学习日记(一)——C语言篇(文件分析库函数版)
  • 算法工程师效率工具:用 OpenClaw 自动生成数据集预处理代码、实验报告、调参日志整理
  • Meta、HuggingFace等大佬联手搞的GAIA基准测试,到底在测什么?GPT-4为啥才15%?
  • 实测 DeepSeek V4:为什么真正决定 Coding Agent 上限的,往往不是模型,而是 Harness Engineering
  • 双碳目标下的智慧园区:数字化如何赋能绿色高效运营
  • 【第26期】2026年4月29日 AI日报
  • Windows下用清华源5分钟搞定ONNX全家桶(含CUDA版本匹配避坑指南)