窥探向量乘矩阵的存内计算原理—基于向量乘矩阵的存内计算
在当今计算领域中,存内计算技术凭借其出色的向量乘矩阵操作效能引起了广泛关注。本文将深入研究基于向量乘矩阵的存内计算原理,并探讨几个引人注目的代表性工作,如DPE、ISAAC、PRIME等,它们在神经网络和图计算应用中表现出色,为我们带来了前所未有的计算体验。

窥探向量乘矩阵的存内计算原理
生动地展示了基于向量乘矩阵的存内计算最基本单元。这一单元通过基尔霍夫定律,在仅一个读操作延迟内完整执行一次向量乘矩阵操作。演示了一个2×1的向量(V1, V2)与一个1×2的向量(G1, G2)T相乘的过程,其中ReRAM阻值以(G1, G2)T表示,电压则以(V1, V2)表示。基于基尔霍夫定律,比特线上的输出电流便是向量乘矩阵操作的结果。将这一操作扩展,将矩阵存储在ReRAM阵列中,通过比特线输出相应的结果向量。

探寻代表性工作的独特之处
1. DPE (Hewlett Packard Laboratories)
DPE是专为向量乘矩阵操作设计的存内计算加速器。其独特之处在于提供了一种转化算法,将实际的全精度矩阵巧妙地存储到精度有限的ReRAM存内计算阵列中。实验证明,仅用4位的DAC/ADC就能保证计算结果没有精度损失,而性能提升更是达到了令人瞠目的1000到10000倍。
2. ISAAC (University of Utah)
ISAAC是专为神经网络推理设计的存内计算架构,其多个存内计算阵列通过C-mesh片上网络连接。每个阵列包含用于不同计算层的多种单元,如最大池化单元、Sigmoid单元、eDRAM缓存等。ISAAC通过ReRAM阵列实现向量乘矩阵操作,采用流水线方式提高推理效率,为神经网络的推理提供了独特而高效的解决方案。
3. PRIME (University of Santa Barbara)
PRIME同样专注于神经网络推理,其独特之处在于直接使用ReRAM单元进行计算。ReRAM bank包括Mem subarrays(存储)、FF subarrays(计算)和Buffer subarray(缓存)。相较于其他结构,PRIME实现了显著的性能提升和能耗节约,为神经网络推理领域带来了全新的可能性。
逐鹿存内计算的新时代
随着计算领域不断演进,存内计算技术如一匹矫健的鹿儿,勇敢地迎接着新时代的挑战。DPE、ISAAC、PRIME等工作不仅为存内计算打开了崭新的篇章,也为我们提供了探索计算世界更深层次的机会。

4. PipeLayer (Duke University)
在神经网络训练领域,PipeLayer是一匹勇敢的鹿。其存内计算系统架构旨在通过复制多份权重数据实现少气泡的pipeline结构。PipeLayer巧妙地使得反向传播阶段的误差传递和权值计算并行进行,从而提高了存内计算训练神经网络的计算效率。实验结果显示,与传统的GPU系统相比,PipeLayer实现了42倍的性能提升和7倍的能耗节约。
5.TIME (Tsinghua University)
在神经网络训练领域,TIME则为存内计算技术打开了新的可能性。为了降低训练时权重矩阵更新的延迟和能耗,TIME采取了权重矩阵复用的方法,与其他方法不同,它不是复制多份权重矩阵,而是通过特殊的数据映射操作来消除拷贝操作的写入开销。实验证明,TIME在有监督的神经网络和强化学习网络方面分别实现了5.3倍和126倍的能耗节约。
踏入未知的LerGAN之境 (Tsinghua University)
LerGAN作为对抗生成网络(GAN)的存内计算系统架构,为存内计算的发展开辟了新的天地。通过去除零相关的操作,重新构建卷积核,LerGAN巧妙地应对了GAN的挑战。它提出了一个三层堆叠的存内计算阵列结构,使得GAN训练的数据传输路径变短,路由减少。实验结果表明,相较于传统的CNN,LerGAN在性能和能耗方面分别取得了7.46倍和7.68倍的提升。
PCM+CMOS:IBM的前瞻之举
IBM的PCM+CMOS存内计算方法,将存储单元与计算结合,实现了全连接神经网络的前向传播、反向传播和权值计算。其独特的结构中使用PCM单元存储权值的高位,而电容器单元存储权值的低位,巧妙地平衡了计算的稳定性和存储的寿命。该方法为存内计算提供了一种前瞻性的解决方案。
结语:携手向前迈进
这一系列存内计算的代表性工作,如同一群勇敢的鹿群,勇敢地探索着计算领域的未知领域。DPE、ISAAC、PRIME、PipeLayer、TIME、LerGAN、PCM+CMOS等工作,各自带有独特的特点,共同构筑起存内计算技术的辉煌画卷。
未来,存内计算技术将继续与创新者携手前行,挑战更大的计算难题。这不仅是对技术的不懈探索,更是对计算领域的一次颠覆性的变革。在这个充满激情和创造力的时代,我们期待存内计算技术与计算领域共同书写新的传奇。携手向前,踏上计算的无限征程。
基于向量乘矩阵的存内计算技术正积极推动着神经网络和图计算领域的发展。DPE、ISAAC、PRIME等代表性工作展示了这一领域的多样性和创新。我们可以期待,存内计算技术将在提高计算效率、减少能耗等方面发挥更为关键的作用,为计算领域带来更多的创新与突破。在这个充满活力的领域中,我们正迈向一个更加智能和高效的未来。
参考文献;
《中国科学》杂志社:内存计算研究进展
相关文章:
窥探向量乘矩阵的存内计算原理—基于向量乘矩阵的存内计算
在当今计算领域中,存内计算技术凭借其出色的向量乘矩阵操作效能引起了广泛关注。本文将深入研究基于向量乘矩阵的存内计算原理,并探讨几个引人注目的代表性工作,如DPE、ISAAC、PRIME等,它们在神经网络和图计算应用中表现出色&…...
Python flask 表单详解
文章目录 1 概述1.1 request 对象 2 示例2.1 目录结构2.2 student.html2.3 result.html2.4 app.py 1 概述 1.1 request 对象 作用:来自客户端网页的数据作为全局请求对象发送到服务器request 对象的重要属性如下: 属性解释form字典对象,包…...
【Tomcat与网络3】Tomcat的整体架构
目录 1.演进1:将连接和处理服务分开 2演进2:Container的演进 3 再论Tomcat的容器结构 4 Tomcat处理请求的过程 5 请求的处理过程与Pipeline-Valve管道 在前面我们介绍了Servlet的基本原理,本文我们结合Tomcat来分析一下如何设计一个大型…...
k8s中cert-manager管理https证书
前言 目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器cert-manager;当然cert-manager是基于k8s的。 安装采用Helm方式 Chart地址: ht…...
如何搭建私有云盘SeaFile并实现远程访问本地文件资料
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-hsDnDEybLME85dTx {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...
Centos7安装Nginx-1.21
一、编译前提,需要安装必要的包 yum install gcc pcre-devel openssl-devel zlib-devel wget -y 二、下载对应的NGINX包 wget http://nginx.org/download/nginx-1.21.0.tar.gz 三、解压nginx tar xf nginx-1.21.0.tar.gz 四、编译并安装nginx到/usr/local/ng…...
React 面试题
1、组件通信的方式 父组件传子组件:通过props 的方式 子组件传父组件:父组件将自身函数传入,子组件调用该函数,父组件在函数中拿到子组件传递的数据 兄弟组件通信:找到共同的父节点,用父节点转发进行通信 …...
Postgresql使用update
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 解决问题一、关联表更新1.关联一张表2.关联多张表 二、根据状态更新为不同的值 解决问题 通过多张关联表更新主表的字段,根据状态更新为不同的值。 一、…...
Django视图函数技巧,从入门到实战
文章目录 Django视图函数1.request对象的方法2.视图函数的常用的返回对象(1)response对象(2)JsonResponse对象(3)redirect() :给浏览器了一个30x的状态码 3.设置响应头和状态码(1&am…...
部署实战--修改jar中的文件并重新打包成jar文件
一.jar文件 JAR 文件就是 Java Archive ( Java 档案文件),它是 Java 的一种文档格式JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,多出了一个META-INF/MANIFEST.MF 文件META-INF/MANIFEST.MF 文件在生成 JAR 文件的时候…...
RT-Thread线程管理(使用篇)
layout: post title: “RT-Thread线程管理” date: 2024-1-26 15:39:08 0800 tags: RT-Thread 线程管理(使用篇) 之后会做源码分析 线程是任务的载体,是RTT中最基本的调度单位。 线程执行时的运行环境称为上下文,具体来说就是各个变量和数据,…...
【HarmonyOS】鸿蒙开发之ArkTs初步认识——第2.1章
ArkTs简介 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。 以下图可以展示Js,TS,ArkTs的关系 ArkTs基础语…...
随手记:uni-app中使用iconfont彩色图标
1、打开阿里巴巴矢量库 2、将下载的压缩文件解压,cmd打开控制台 3、安装npm install -g iconfont-tools(首次使用安装) 4、输入iconfont-tools会生成一个文件夹 5、打开这个文件夹,用里面的相应的css就行...
02-OpenFeign-微服务接入
1、依赖 由于是spring cloud项目,注意spring-boot、cloud、alibaba的版本兼容性 1.1、父级依赖 <properties><java.version>1.8</java.version><spring-boot.version>2.7.18</spring-boot.version><spring.cloud.version>20…...
【前端工程化】环境搭建 nodejs npm
文章目录 前端工程化是什么?前端工程化实现技术栈前端工程化环境搭建 :什么是Nodejs如何安装nodejsnpm 配置和使用npm 介绍npm 安装和配置npm 常用命令 总结 前端工程化是什么? 前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块…...
在VM虚拟机搭建NFS服务器
NFS共享要求如下: (1)共享“/mnt/自已姓名的完整汉语拼音”目录,允许XXX网段的计算机访问该共享目录,可进行读写操作。(说明:XXX网段,请根据你的规划,再具体指定…...
springboot并mybatis入门启动
pom.xml,需要留意jdk的版本(11)和springboot版本要匹配(2.7.4),然后还要注意mybatis启动l类的版本(2.2.2) <?xml version"1.0" encoding"UTF-8"?> <project xm…...
什么是单例模式与饿汉式单例模式的区别是什么?
什么是单例模式与饿汉式单例模式的区别是什么? 单例模式和饿汉式单例模式都是软件设计模式,它们的区别在于实例的创建时间和线程安全性。 单例模式是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。单例模式可以保…...
【数据结构】认识数据结构 (通俗解释)
目录 1.认识数据结构 1.1 什么是数据结构 1.1.1 什么是数据? 1.1.2 什么是结构? 1.1.3 通俗比喻: 1.1.4 标准概念概念定义: 1.2为什么需要数据结构? 1.认识数据结构 1.1 什么是数据结构 数据结构是由"数…...
C语言——深入理解指针(1)
目录 1.内存和地址 a 内存的理解 b 如何理解编址 2.指针变量和地址 a 取地址操作符 b 指针变量 c 解引用操作符 d 指针变量的大小 1.内存和地址 a 内存的理解 假想这样一个场景,你的朋友找你玩,到了你家小区,如何让她迅速的找到…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
