news 2026/4/17 21:42:25

【GPU 基础】架构与内存设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【GPU 基础】架构与内存设计

​ 算子融合之所以重要,是因为"GPU 上内存读写比计算本身更慢";内存规划之所以关键,是因为"GPU 显存分配是一个重量级操作"。

​ 这两句话如果没有 GPU 硬件的背景知识,很难真正理解。这个番外系列补上这块基础,从 GPU 架构讲起。

一、CPU 和 GPU 的本质区别

​ 我们可以通过一个类比来理解这两者的区别:

  • CPU像一个很聪明的专家,一次只能做一件事,但每件事做得很快、很灵活(复杂逻辑、分支判断都擅长)
  • GPU像一个有几千个工人的工厂,每个工人能力一般,但同时干活,适合大量重复的简单计算(比如矩阵乘法)

​ 神经网络推理的核心操作是矩阵乘法,把输入矩阵和权重矩阵相乘。一个[32,768]×[768,3072][32, 768] \times [768, 3072][32,768]×[768,3072]的矩阵乘法包含32×768×3072≈750032 × 768 × 3072 ≈ 750032×768×30727500万次乘加操作,每次操作完全独立,天然适合 GPU 的几千个核心并行处理。

​ 这也是为什么 GPU 最初是为了图形渲染设计的,屏幕上的每个像素的颜色计算是互不依赖的,成千上万的像素可以同时处理。深度学习中的矩阵运算与此非常相似。

二、GPU 的内存层次

​ 理解 GPU 性能瓶颈的关键,不是算力,而是内存。GPU 内部的存储系统从快到慢分为四级,具体如下:

层级大小速度说明
寄存器每个核心几 KB最快计算单元直接读写,零延迟
共享内存每个 SM 几十 KB很快同一计算块内的线程共享
L2 缓存几 MB全局缓存,所有核心共享
显存(VRAM)几 GB ~ 80 GB存放模型权重和中间结果

​ 这个层次和 CPU 的缓存体系(L1 → L2 → L3 → 内存)是类似的思路:越靠近计算单元的存储越快、但越小。不同之处在于, GPU 的共享内存是程序员可以显式控制的,你可以决定哪些数据放进共享内存,而 CPU 的缓存完全由硬件自动管理。

2.1 举例

​ 以NVIDIA A100为例,我们来看看各级存储的访问延迟:

  • 寄存器访问:零延迟

  • 共享内存访问:约 20 个时钟周期

  • 显存访问:约 200~400 个时钟周期

    从寄存器到显存,访问延迟差距高达10~20 倍

​ 打个比方:寄存器就像是你手边的纸,共享内存是桌上的文件夹,而显存则是房间角落的大书柜。如果每次计算都得去书柜拿数据然后再返回,这样的“走路”时间就占据了大部分计算时间。

三、SM:GPU 的基本计算单元

​ GPU 并不是简单地由几千个核心组成,而是将这些核心分组管理。每一组称为SM(Streaming Multiprocessor)

  • 每个 SM 包含多个CUDA 核心(以 A100 为例,每个 SM 有 64 个 FP32 核心)
  • 每个 SM 都有自己的共享内存和寄存器堆
  • A100 总共有 108 个 SM,合计 6912 个 FP32 核心

​ 当你提交一个矩阵乘法任务给 GPU 时,CUDA 运行时会将任务划分成多个小块(线程块),并分配到各个 SM 上并行执行。每个 SM 内部的线程共享该 SM 的共享内存,线程之间可以高效通信;而不同 SM 之间的通信必须通过显存。这也说明了显存和 SM 之间数据搬运的效率对整体性能的重要性。

四、总结

  • GPU 的核心优势是大规模并行:几千个核心同时执行相同的操作,天然适合矩阵运算
  • GPU 内存分四级,从寄存器到显存延迟差 10~20 倍,数据在哪里,比算得多快更重要
  • SM 是 GPU 的基本计算单元,SM 内部的线程共享共享内存进行高效通信,不同 SM 之间则依赖显存传输数据。
  • 性能瓶颈:GPU 推理时,权重和中间结果存储在显存中,每次计算都需要将数据搬运到 SM 内部,这个过程对性能有很大影响。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 21:40:23

STM32超声波测距实战:HC-SR04模块避坑指南(附完整代码)

STM32超声波测距实战:HC-SR04模块避坑指南(附完整代码) 在智能小车和避障机器人开发中,超声波测距模块因其成本低廉、使用简单而广受欢迎。HC-SR04作为最常见的超声波模块之一,虽然原理简单,但在实际STM32项…

作者头像 李华
网站建设 2026/4/17 21:39:23

SukiUI深度解析:如何为AvaloniaUI构建现代化桌面应用界面

SukiUI深度解析:如何为AvaloniaUI构建现代化桌面应用界面 【免费下载链接】SukiUI UI Theme for AvaloniaUI 项目地址: https://gitcode.com/gh_mirrors/su/SukiUI 在当今的跨平台桌面应用开发领域,AvaloniaUI以其强大的渲染能力和跨平台特性成为…

作者头像 李华
网站建设 2026/4/17 21:35:10

Java方法重写完全指南:从概念到规则,一篇搞懂继承中的方法覆盖

子类继承了父类的方法,但如果父类的方法不满足子类的需求怎么办?比如第一代手机只能打电话,第三代智能手机需要视频通话。这时候就需要“方法重写”——子类把父类的方法重新写一遍,让它更符合自己的需求。今天这篇文章&#xff0…

作者头像 李华