落霞归雁:从自然之道到“存内计算”——用算法思维在芯片里开一条“数据高速航道”

作者
落霞归雁(CSDN首发,转载请注明)

段落一 · 现象:当“摩尔”老去,数据却在狂奔

过去 30 年,CPU 频率翻了 60 倍,而 DRAM 带宽只翻了 20 倍。算力与带宽的剪刀差,让“计算”变成“等数据”。

以推荐系统为例,一次用户点击要跨 3 级缓存、4 次内存、2 次网络,延迟 200 µs;其中 70 % 时间花在“把数据搬到 ALU”。

落霞归雁的观察——自然界的能量传递遵循“最小作用量原理”,信息也该如此:让数据就地生长,而不是跋山涉水。

段落二 · 规律:存内计算为何是“下一道洋流”

  1. 技术规律:SRAM/DRAM 工艺演进,让“存储单元 + 计算单元”单片共存成为现实。
  2. 算法规律:矩阵乘、卷积、图遍历的 80 % 访存模式呈局部可预测,天然适合“near-data computing”。
  3. 商业规律:每降低 1 % 的 DRAM 访问,云厂商可节省 0.5 % 总拥有成本(TCO),对应全球百亿美金市场。

段落三 · 应用:一条 3 mm² 的“算法高速公路”

案例:得物推荐精排模型 neuron-csprd-r-tr-rel-cvr-v20-s6,原在 CPU 上特征解析占用 61 % 时间,其中 18 % 是纯浮点转换。
• 算法设计:把 Double.parseDouble 的逐字符解析改为基于 Ryu 算法的查表+并行前缀计算,复杂度 O(n) → O(1)。

• 存内实现:在 SRAM bank 内嵌入 4-bit 查找表 + 8-bit 加法树,面积 0.2 mm²,功耗 < 5 mW。

性能结果:
• CPU 时间从 18 % → 0.19 %,RT 降低 25 %,节省 50 % 服务器。
• 若全量部署存内计算,可再省一次 DDR 访问,理论 RT 再降 20 %。

段落四 · 创新:把“动态规划”搬进 SRAM

子问题:大规模管网的最优压缩机控制是典型高维 DP,状态爆炸导致内存墙。
• 算法创新:

1.用近似动态规划(ADP)将状态空间从 10^6 压缩到 10^3;

2.在 SRAM 内做“状态-动作”查表 + 线性插值,访存次数由 10^4 次/决策降到 1 次。

• 行业落地:某天然气集团 2 年省下 20 亿元电费,压缩机启停次数下降 30 %。

段落五 · 实战:从 0 到 1 的 6 步落地模板

  1. 观察现象:用 eBPF 跟踪系统调用,把“热点指令 → 访存模式”画成热力图。
  2. 找规律:统计 7 天线上流量,发现 92 % 的矩阵乘尺寸落在 {64,128,256} 三档。
  3. 理论应用:把 GEMM 拆成 Winograd + Im2Col,计算密度提升 4×,适配 SRAM 带宽。
  4. 实践验证:
    • RTL 级仿真:吞吐 2 TOPS/W,面积 3 mm²;
    • FPGA 灰度:延迟从 320 µs → 45 µs;
    • A/B 上线:CTR +3.7 %,服务器缩容 40 %。

段落六 · 职业地图:谁在为“算法+芯片”搭桥

• 算法芯片协同设计工程师(Algorithm-Silicon Co-design)
• 性能架构师(Perf Architect)
• 存内计算 RTL 设计专家(In-Memory Compute Designer)
• 领域专用编译器工程师(DSL Compiler)
• 业务增长数据科学家(Growth DS)

段落七 · 长期主义:让算法像树一样生长

落霞归雁始终相信:技术演进不是“替代”,而是“共生”。

存内计算不会消灭 CPU,而是把 80 % 的低熵计算下沉到存储;CPU 则专注高熵决策。

正如森林里的光,被树叶层层过滤,最终落在最适合的地方。算法、芯片、业务,三者也将在“最小作用量”的自然律下,找到各自的光斑。

附录 · 代码片段(Verilog,节选)
module dp_ram_lut #(
parameter ADDR_WIDTH = 10,
parameter DATA_WIDTH = 16
)(
input wire clk,
input wire [ADDR_WIDTH-1:0] addr,
input wire [DATA_WIDTH-1:0] din,
input wire we,
output reg [DATA_WIDTH-1:0] dout
);
always @(posedge clk) begin
if (we) mem[addr] <= din;
dout <= mem[addr];
end
reg [DATA_WIDTH-1:0] mem [0:(1<<ADDR_WIDTH)-1];
endmodule

致谢
感谢得物技术团队、UCL RC18 课题组、某天然气集团算法部提供真实数据与反馈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92078.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

StyleX:Meta推出的高性能零运行时CSS-in-JS解决方案

简介 StyleX 是由 Meta 开发的零运行时 CSS-in-JS 解决方案&#xff0c;在构建时将样式编译为静态 CSS&#xff0c;消除运行时开销。 核心特性 零运行时开销 – 构建时编译为静态 CSS类型安全 – 完整的 TypeScript 支持原子化 CSS – 自动生成原子化类名&#xff0c;最小化…

LINUX 85 SHElL if else 前瞻 实例

问题 判断用户是否存在 id user id $user变量判断vsftpd软件包被安装 rpm -q vsftpd rpm -ql vsftpd >& null[rootweb ~]# rpm -ql vsftpd >/dev/null 2>&1 您在 /var/spool/mail/root 中有邮件yum install vsftpd 内核主版本判断 uname -rcut -d[rootweb ~]#…

2025 年非关系型数据库全面指南:类型、优势

非关系型数据库的分类与特点随着数据量呈指数级增长和数据类型日益多样化&#xff0c;传统关系型数据库在处理海量非结构化数据时面临着严峻挑战。非关系型数据库&#xff08;NoSQL&#xff09;应运而生&#xff0c;它摒弃了传统关系模型的约束&#xff0c;采用更灵活的数据存储…

深度残差网络ResNet结构

Deep Residual Learning for Image Recognition&#xff0c;由Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun于2016年发表在CVPR上 1512.03385 (arxiv.org)https://arxiv.org/pdf/1512.03385 下图中&#xff0c;左侧为VGG19网络&#xff0c;中间为34层的普通网络&#xf…

python笔记--socket_TCP模拟浏览器实现

""" 1,导包 2,创建TCP套接字 3,建立连接 4,拼接客户端请求报文 5,发送请求报文 6,接收响应报文 7,过滤出html页面 8,保存为html文件 9,关闭套接字 """ # 1,导包 import socket # 2,创建TCP套接字 tcp_socketsocket.socket(socket.AF_INET,socket…

西门子PLC基础指令4:置位指令 S、复位指令 R

布尔指令 1、置位指令 S Setbit 是要进行置位操作的地址的首地址&#xff0c;N 是从该首地址开始连续置位的位数 。 LD I0.0 // 装载输入继电器I0.0的状态&#xff08;当I0.0为ON时&#xff0c;执行后续指令&#xff09; S Q0.0, 3 // 从Q0.0开始&#xff0c;连续置位3…

2.3 子组件样式冲突详解

Vue2组件样式冲突的成因与解决方案组件样式冲突的根本原因在Vue单页面应用中&#xff0c;所有组件的DOM结构最终都会合并到同一个index.html 页面中。若子组件未使用scoped属性&#xff0c;其样式会默认全局生效&#xff0c;导致不同组件中相同选择器&#xff08;如h1、.contai…

26-数据仓库与Apache Hive

1.数据仓库 是什么&#xff1f;解决什么&#xff1f;1.1 数据仓库Data Warehouse 数仓 / DW 是一个用于存储、分析、报告的数据系统.目的&#xff1a;构建面向分析的集成数据环境&#xff0c;分析结构为企业提供决策支持。数仓专注于分析数仓本身不“”生产“”数据&#xff0c…

前端開發技術教學(二)

書接上回&#xff1a;前端開發技術教學(一) -CSDN博客 必要資源&#xff1a;TRAE - The Real AI Engineer 目录 一) 自定義函數 - function 二) DOM操控 DOM事件 a.) onclick b.) onkeydown 三) AI寫代碼 書接上回說到的前端3種主語言以及其用法&#xff0c;這期我們…

设计模式 - 组合模式:用树形结构处理对象之间的复杂关系

文章目录一、引言二、模式原理分析三、代码示例四、核心要点五、使用场景分析六、案例七、为何使用组合模式&#xff1f;八、优缺点剖析九、最佳实践建议十、总结一、引言 “组合模式”&#xff08;Composite Pattern&#xff09;常被误解为“组合关系”。前者专注于将对象组合…

STM32U575低功耗调试

开启了MSIK时钟导致功耗变高在stop2模式下, 整体板子25.41uA; 如果在standby模式, 整体板子5uA;如果在stop2模式, 并且把LPTIM3,4选择的时钟是MSIK, 整体功耗53.59uA2.stanby模式板子整体5uA调试的时候, 可以让板子进入standby模式, 如果电流很小, 可以证明板子没有漏电(图画错…

基于ARM+FPGA多通道超声信号采集与传输系统设计

针对超声信号采集系统在多通道同步采集和高速数据传输所面临的挑战,设计并实现了一种 基于 FPGA 的8通道超声信号同步采集与传输系统。系统以FPGA 作为主控芯片,ADI公司的 AD9279作 为8通道超声信号同步采集的模拟前端和模数转换芯片,通过 DDR3SDRAM 及 USB3.0实现数据缓存和 高…

计算机网络:为什么IPv6没有选择使用点分十进制

IPv6没有采用点分十进制(如IPv4的192.168.1.1),核心原因是其地址长度、设计目标与表示需求和IPv4存在本质差异,而冒号分十六进制(如2001:0db8:85a3:0000:0000:8a2e:0370:7334)是更适配其特性的选择。具体可从以下几个角度分析: 一、地址长度差异:点分十进制无法适配12…

HBM Basic(VCU128)

目录 1. 简介 1.1 硬件平台 1.2 图片 2. 硬件信息 2.1 Vivado Basic 2.1.1 GPIO 2.1.2 Clock Sources 2.1.3 Reset 2.1.4 Flash 2.1.5 烧写报错 2.2 PCIe simple 2.2.1 Block Design 2.2.2 XDMA 2.3 PCIe HBM 2.3.1 Block Design 2.3.2 HBM IP 3. HBM 知识 3…

Mybatis的应用及部分特性

初识MybatisMybatis的概念MyBatis 是一个Java 持久层框架&#xff0c;核心作用是简化数据库操作&#xff0c;把 SQL 和 Java 代码解耦。ORM框架MyBatis是一个ORM 框架所谓ORM 框架&#xff0c;就是把数据库里的表、字段、关系&#xff0c;映射成编程语言里的类、属性、对象引用…

使用Jeecg低代码平台实现计划管控系统建设方案--2平台学习

1.前后端列表练习 前端页面下的views下的system下的基本都是系统管理的东西。 在system下新建一个目录edu。 index基本就是列表页面。 modal就是新增编辑弹窗。 api就是接口。 data就是列配置。 一些组件的使用可以参考官方文档&#xff0c;help.jeecg.com。 在创建一个…

调试|谷歌浏览器调试长连接|调试SSE和websocket

长连接需求不常有&#xff0c;控制台调试的细节容易忘&#xff0c;在这截图备忘。本文会记录SSE、websocket连接、普通接口 在谷歌浏览器控制台的对比 文章目录SSE&#xff08;Server-Sent Events&#xff09;观察对象&#xff1a;百度翻译观察请求头和响应头观察EventStream观…

VS2019 Qt5.14.2 OpenCV4.4.0 全流程安装及开发环境搭建与配置(工业相机环境配置)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言Visual Studio 2019 安装步骤项目配置验证Qt 5.14.2 安装步骤项目配置验证Visual Studio Qt 拓展&#xff08;确定项目后&#xff09;OpenCV 4.4.0 安装步骤项目…

正确配置jdk环境但IntelliJ IDEA无法启动

现象&#xff1a;今天突然发现开发工具双击没有正常启动&#xff0c;之前是用着的。问题排查&#xff1a;是否是因为jdk环境变量导致的&#xff0c;之前安装过安卓的开发环境也修改过环境变量。步骤一&#xff1a;cmd输入java -version 或javac&#xff0c;如图没有反应步骤二&…

ubuntu-server安装

1.下载系统镜像&#xff1a; 阿里云镜像站下载服务器镜像 https://mirrors.aliyun.com/ubuntu-releases/24.04/ubuntu-24.04.2-live-server-amd64.iso 1.创建新的虚拟机 按住键盘ctrl n 打开虚拟机创建界面 用光标选择对应语言没有中文哈 然后回车确认 设置计算机名、用户名…