神经网络推理加速入门——分层存储架构

简介: 大家好啊,我是董董灿。其实存储器也是有分层结构划分的。

​大家好啊,我是董董灿。

本篇介绍一个计算机中的部件——存储器,看完之后,你将了解存储器是什么以及存储器在AI计算中的作用。

在介绍之前,先说一个我今天早晨的事儿。

7点起来晨跑,突然发现已经到深秋了,凉飕飕的,感觉是时候换一波秋冬的衣服了。于是开始翻箱倒柜,花了好大一会儿,终于在衣柜的最深处,找到了去年冬季跑步的衣服,口袋里还装着去年的口罩。

找到衣服之后,我突然盯着衣柜看了半天,发现:衣柜的设计确实是很讲究,只可惜我没用好,才导致费了九牛二虎之力才找到了衣服。

image.png

衣柜讲究的设计

  • 最经常穿的衣服,应该是要用衣架撑好挂在衣柜横杆上的,方便随时取用;
  • 不经常穿的衣服,比如非当季的衣服,应该是要叠好放在最底层的柜子里,让他过冬。

这种明显的功能区域划分,可以让我在需要某件衣服的时候,方便快捷的找到。这就和今天文章的主角——存储器有点像了。

不知道是不是所有带有存储性质的产品都有类似的分层划分。但我知道,存储器这种储存数据和指令的东西,有着很明显的分层或分级划分的

存储器的分层设计

之前的一篇文章计算机存储和计算的分离说到,在计算机系统中,计算单元和存储器是分离的。而实际上,在计算机中,单看存储器,也是会分成很多层级。

存储器最常见的就是内存。在买手机时,我们一定会关注一个参数,那就是内存大小。内存越大,手机可以存储的数据就越多,运行起来也就越流畅,手机性能就越好。

但是在一个计算系统中,除了内存,还有其他的存储。下图是一个典型的存储器划分示意图。示意图越往上,代表存储器越靠近计算单元,其容量越小,相对造价就越高。

这也是为什么,在计算机系统中,单位存储的内存价格很高,而外存(如硬盘)相对较为便宜。

image.png

磁盘

是离CPU最远的存储器。一般作为硬件外设存在。包括我们常见的硬盘、U盘等存储外设。磁盘的读写速度相比其他存储器慢,但是容量大,价格便宜。这个就相当于衣柜的最底层,存放着不经常穿的衣服(数据),像是一个大仓库。

主存

可以理解为电脑的内存条,用来存放程序运行时的指令和数据。程序运行时操作系统需要将程序和数据加载到内存中,它就相当于衣柜中搭衣服的横杆,随取随用。

高速缓存(Cache)

是比主存离CPU更近的一级存储,他会把程序需要的指令或者数据预先加载进来,在CPU进行运算时,会首先在缓存中查找数据或指令,如果找不到,就在去主存中寻找,找不到去主存中寻找的过程一般称为Cache Miss。

预先加载怎么理解呢?打个比方,我们在冬天肯定有经常要穿的2-3件衣服,但不会每次衣服脏了都放回衣柜中,而是洗完放在阳台晾衣架上,这2-3件衣服轮换穿。CPU也是这样,它会频繁的从高速缓存中存取数据,找不到了,再去内存中找,就好像阳台上没衣服了,再去衣柜里找一样。

寄存器(Register)

是CPU最近的存储器。用来存放程序运行时需要的指令、地址、立即数等。类比于就是身上正在穿的衣服。

有了这几级存储,在做AI加速时,就可以做很多事情。之前指令流水线 说过,由于计算和存储是分离的,那么可以将计算和存储指令排流水,实现性能的加速。

同样,如果存储也有分层设计,并且开放给程序员的话,那么,单独的存储指令也可以进行流水设计,从而在带宽不变的前提下,提高数据的吞吐和程序的性能。

GPU就是这么做的。

熟悉GPU硬件架构的同学可能知道,GPU的编程模型中有DDR(显存,也就是最外层存储,可类比硬盘),Shared Memory(共享内存),当然还有其他的存储。

单说 DDR 和 shared memory(SM)这两级存储,就可以排流水。比如——

上表中每一行代表同一时刻,看不懂没关系,只需要知道在同一时刻,程序可以同时将数据从DDR load 到 SM(左侧的一例) 以及在SM上进行计算(右侧的一列)即可。这样就相当于在流水线上有两个工人一起工作,从而提高了性能。

总结

存储器的分层设计,一个好处之一就是,程序员可以通过编写存储指令(包括将数据从外存搬运到内存的 load 指令,将数据从内存加载到片上计算的 move 指令等),从而完成流水的排布。

当然,存储器的分层设计肯定不单是这个原因,就不展开了。

那么问题来了,这篇文章和AI加速有什么关系呢?

其实,存储器作为一个偏计算机底层的部件,是根本不关心上层应用是什么的。我们可以让计算机进行AI计算,来完成AI加速,也可以让计算机运行一个游戏,完成游戏加速。

只要了解了存储器的原理,不论是AI加速还是游戏加速,都能做到性能很好。

政治基础决定上层建筑。——

而且只要硬件支持指令流水级,并且编译器做的足够好,甚至都不需要程序员手动去排流水(手写汇编确实太枯燥了)就能自动实现。从而完成对于AI算法的加速计算,这一点对于编译器的要求很高,后面再介绍。

今天就介绍到这,欢迎持续关注神经网络推理加速入门系列文章。

本文为作者原创,请勿转载,如需转载,请于作者联系。

相关文章
|
2月前
|
数据采集 机器学习/深度学习 运维
量化合约系统开发架构入门
量化合约系统核心在于数据、策略、风控与执行四大模块的协同,构建从数据到决策再到执行的闭环工作流。强调可追溯、可复现与可观测性,避免常见误区如重回测轻验证、忽视数据质量或滞后风控。初学者应以MVP为起点,结合回测框架与实时风控实践,逐步迭代。详见相关入门与实战资料。
|
2月前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
7月前
|
小程序 前端开发
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
校园跑腿小程序系统是一款创新解决方案,旨在满足校园配送需求并拓展校友网络。跑腿员可接单配送,用户能实时跟踪订单并评价服务。系统包含用户、客服、物流、跑腿员及订单模块,功能完善。此外,小程序增设信息咨询发布、校园社区建设和活动组织等功能,助力校友互动、经验分享及感情联络,构建紧密的校友网络。
295 1
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
|
6月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
134 1
|
7月前
|
人工智能 监控 安全
NTP网络子钟的技术架构与行业应用解析
在数字化与智能化时代,时间同步精度至关重要。西安同步电子科技有限公司专注时间频率领域,以“同步天下”品牌提供可靠解决方案。其明星产品SYN6109型NTP网络子钟基于网络时间协议,实现高精度时间同步,广泛应用于考场、医院、智慧场景等领域。公司坚持技术创新,产品通过权威认证,未来将结合5G、物联网等技术推动行业进步,引领精准时间管理新时代。
|
4月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
115 0
|
6月前
|
消息中间件 存储 Kafka
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
本文详细介绍了分布式消息中间件RocketMQ的核心概念、部署方式及使用方法。RocketMQ由阿里研发并开源,具有高性能、高可靠性和分布式特性,广泛应用于金融、互联网等领域。文章从环境搭建到消息类型的实战(普通消息、延迟消息、顺序消息和事务消息)进行了全面解析,并对比了三种消费者类型(PushConsumer、SimpleConsumer和PullConsumer)的特点与适用场景。最后总结了使用RocketMQ时的关键注意事项,如Topic和Tag的设计、监控告警的重要性以及性能与可靠性的平衡。通过学习本文,读者可掌握RocketMQ的使用精髓并灵活应用于实际项目中。
4805 9
 一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
|
7月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
254 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
7月前
|
Cloud Native 区块链 数据中心
Arista CloudEOS 4.32.2F - 云网络基础架构即代码
Arista CloudEOS 4.32.2F - 云网络基础架构即代码
158 1

热门文章

最新文章