下载本文的 PDF 版本 PDF

面向内存处理还是不面向内存处理

边缘设备上量化 CNN 的内存推理案例

加布里埃尔·法尔考 和 若昂·迪尼斯·费雷拉

随着人工智能成为数十亿边缘物联网(Internet of things, IoT)设备的普及工具,数据移动瓶颈对这些系统的性能和自主性施加了严格的限制。内存处理(processing-in-memory, PiM)正在兴起,成为一种缓解数据移动瓶颈的方法,同时满足依赖卷积神经网络(convolutional neural networks, CNN)的边缘成像应用对性能、能源效率和准确性的严格要求。

经济实惠的互联网接入全球化推动了计算机架构的革命,其特点是智能手机、平板电脑和其他智能设备的加速普及,这些设备现在已司空见惯。15 物联网应用在广泛领域(例如,个人计算、教育、工业、军事、医疗保健、数字农业)的兴起带来了将数十亿设备集成到互联网的能力,如图 1 所示。

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

这种集成带来了前所未有的挑战,例如需要廉价的计算和通信,能够处理每天生成的越来越多的数据。

物联网范式还承诺在网络世界和物理世界之间建立更紧密的联系,因为数据成为在各种连接(智能)设备之间交换的普遍资产。此外,数据流通常是双向的,不仅从物理世界流向网络世界,而且还从网络世界流向(物理世界中可能发生的)物理世界。

要实现这一愿景,物联网设备必须具备人工智能。当今最有希望的方法是增强系统的能力,使其能够通过吸收大量数据(使用机器学习(machine learning, ML)算法)自主地从经验中学习,特别关注深度学习和图像推理。

 

边缘设备的人工智能需求将增长

一年内创建、复制和消耗的数字数据总量在 2020 年已超过数十 ZB(1021 字节),国际数据公司估计,这一数字在未来几年将增长到数百 ZB。18 新冠肺炎疫情促成了这一数字,原因是居家办公的广泛普及以及视频会议和流媒体数据的突然增加。这部分数据的大部分在边缘设备上消耗,通常在智能手机和嵌入式系统上完全执行处理。许多其他应用于大数据革命的基于人工智能的应用的兴起,通过增加对计算和内存系统的压力,特别是那些在边缘设备上运行的系统,加剧了这个问题。

边缘计算作为可持续人工智能扩展的推动者的理由得到了加强,因为现代数字系统生成的大部分数据来自位于边缘的传感器——在这种范式下,数据在生成地进行处理,如图 2 所示。与左侧显示的传统方法相比,随着云-边缘层次结构的出现,人工智能转移到边缘层,如图中右侧所示。这种新范式给边缘处理节点带来了更密集的计算压力,但它也减少了与云通信的时间和能源消耗,并带来了数据隐私和延迟优势。

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

随着数据生成的增长和对人工智能应用需求的加速扩张,以下五个目标证明了将人工智能处理转移到边缘的合理性:1,6,20,24

延迟。 许多应用具有交互性质,因此无法承受长延迟,尤其是在内存、存储和网络请求方面。

可靠性。 通信网络并非在所有地点、所有时间都可靠。为了确保最长的正常运行时间,基于人工智能的决策制定不得依赖始终可用的通信网络。

隐私/安全。 某些应用要求敏感数据保存在受控的本地环境中,避免其与云之间来回流通。例如医疗、金融或自动驾驶等等。

带宽。 在数据收集地附近处理的数据不需要发送到云端,这降低了网络和边缘计算系统的整体带宽需求。

数据来源。 来源问题可能会阻止数据在远离其生成地的地方进行处理。数据中心存储可能需要遵守区域数据保护立法,例如欧洲的 GDPR(通用数据保护条例)和加拿大的 PIPA(个人信息保护法)。

为了实现这些目标,计算机架构师和软件开发人员必须对云+边缘组合系统采取整体愿景,以最大限度地减少组件之间不必要的数据移动,方法是在数据生成和存储地处理数据,因为这是主要的性能和能源瓶颈。9

 

边缘人工智能:应对数据挑战的机器学习解决方案

目前,神经网络已广泛应用于许多领域,并正在成为其他新兴应用不可或缺的组成部分,例如自动驾驶汽车、常时生物信号监测、增强现实和虚拟现实、关键物联网和语音通信(占边缘设备 5G 用例的 25%),所有这些都需要人工智能算法在边缘设备上处理大量数据(见图 3)。示例包括 (a) 自动驾驶汽车,(b) 数字农业,(c) 智能手机,以及 (d) 智能物联网设备,这些设备在边缘设备上运行人工智能内核时处理大量数据。支持这些新兴应用的系统将被期望比人类同行更快(而且通常更好)地做出决策,并通过考虑不断增加的数据量进行训练和推理来支持其决策制定的持续微调。

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

特别是,CNN 是基于图像的决策任务的事实标准。这些模型大量使用卷积和乘法累加(multiply-and-accumulate, MAC)运算,这些运算占总计算成本的 90% 以上。11 因此,最先进的神经网络加速器(例如,谷歌的张量处理单元)专注于优化 MAC 运算的性能和能源效率。

 

表征和优化 CNN 架构

典型的 CNN 由数亿个参数组成,并且需要每秒执行数十亿次运算才能实现实时性能。随着其准确性的提高,CNN 包含更多参数和层,变得更宽更深。量化提供的紧凑数据表示缓解了这些更复杂的网络架构的一些开销,并允许高度的并行性和数据重用,这在受限的处理环境中尤其有用。

数据量化通过降低模型权重的位宽,显着降低了神经网络的计算和存储要求。然而,将这些值量化到 8 位以下同时保持准确性,需要人工干预、超参数调整和密集的重新训练。

虽然训练需要高动态范围,但推理则不需要:在大多数情况下,2 位到 4 位精度即可达到所需的准确度水平。10 更进一步,甚至可以通过二值化(即将输入、权重和/或激活量化为一位)来近似 CNN。10,17

在许多实际环境中,尤其是在边缘计算中,二值神经网络的性能和能源效率优势超过了准确度损失。二值神经网络的另一个好处是能够通过组合效率更高的按位异或非(XNOR)和位计数运算来近似 CNN 所需的卷积运算。

表 1 说明了从数据中心服务器到物联网节点的各种设备中五种广泛使用的 CNN 模型的内存和处理要求。该表指示了所有网络的参数数量和 MAC 运算。W/A 指的是每个量化级别的权重和激活的位宽。所有网络的输入分辨率均为 224x224。这些设备是从大量神经网络算法中选择出来的,以适应边缘节点,即在运行模型所需的内存方面。它们的尺寸显示为权重/激活位宽(32 位、2 位、1 位)以及每个网络使用的 MAC 运算数量的函数。

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

专业化作为高性能人工智能的推动者

现代深度学习算法具有大量的计算、内存和能源需求,这使得它们在边缘设备上的实现具有挑战性。可以通过利用机器学习算法的两个独特特征来解决这一挑战:首先,每类深度学习算法都依赖于一组专门的操作;其次,在许多情况下,即使这些算法使用低位宽运算,也能提供良好的准确性。13

近年来,一些框架(例如,TensorFlow、PyTorch、TensorRT)通过使用专门的指令,帮助弥合了神经网络模型的高级描述与其底层硬件映射之间的语义差距。这是通过批量并行方式执行操作来实现的,最大限度地减少内存访问并最大限度地提高计算资源利用率。

 

高效的边缘人工智能:架构以数据为中心的系统

这些观察结果和约束条件促使人们为边缘人工智能制定了一组明确的目标指标

准确性。 人工智能任务的成功率10(例如,图像分类、物体检测、句子生成、翻译)。

吞吐量。 输入数据的处理速率。许多支持视频的实时人工智能应用必须维持每秒数千帧(frames per second, FPS)的处理速率——例如,自动驾驶汽车中的 2300 FPS23 或超声医疗设备中的数百到数千 FPS。

延迟。 与单个输入元素的处理相关的关键路径延迟。5G 标准定义了定位和跟踪系统的最大延迟为一毫秒;自动驾驶汽车必须在同一数量级内提供延迟。23

功率和能量。 大多数边缘设备都由电池供电,最大限度地延长电池寿命是关键的设计目标。作为参考,自动驾驶汽车的计算系统需要高达 2.5kW 的电源。23

数据精度。 人工智能数据不一定总是以 64 位或 32 位浮点精度表示。对于许多推理应用,八位或更低的整数精度就足够了。4,13

 

古老的以处理器为中心的计算模型

20 世纪末和 21 世纪初见证了以处理器为中心的计算模型的广泛使用。在该模型中,程序和数据存储在内存中,处理发生在专门的算术逻辑单元(arithmetic logic units, ALU)中。与摩尔定律一起,缓存、分支预测器、乱序执行、多线程以及其他几项硬件和软件优化的引入,在过去几十年中实现了稳定且基本未受干扰的性能改进。

相比之下,内存系统的改进速度要慢得多。处理器和主内存之间的这种性能差距——由于这些技术仍然相隔几个工艺节点世代这一事实的支持——导致了关键的数据移动瓶颈,被称为内存墙14 内存是现代计算系统中的主要性能和能源瓶颈;数据移动在延迟和能源方面都比计算昂贵得多。随着连接到互联网的智能设备数量(截至撰写本文时,已经达到数十亿,如图 1 所示)持续增长,数据移动瓶颈将仍然相关。

 

一个引人注目的可能性:在数据驻留地处理数据

随着对边缘推理的需求增长,更有效地访问数据变得越来越重要。拟议的改进涵盖 (1) 通过利用时间和物理局部性来重用数据;(2) 算法设计,引入优化的神经网络拓扑结构和量化使用;(3) 专用硬件,引入旨在满足这些工作负载需求的专用向量化指令(例如,单指令多数据(SIMD) MAC 运算);以及 (4) PiM 架构。当在边缘执行时,PiM 能够为人工智能应用实现更高的吞吐量,而不会损害设备自主性。17

PiM 解决方案的主要区别在于它们与数据的接近程度:14 在近内存处理(processing-near-memory, PnM)范式中,计算发生在数据驻留地附近,但在不同的介质中——例如,在 3D 堆叠内存的逻辑层中;相比之下,内存内处理(processing-using-memory, PuM)范式利用存储介质的物理特性来执行计算——例如,阻变随机存取存储器(resistive random access memory, ReRAM)或动态随机存取存储器(dynamic random access memory, DRAM)单元。

 

近内存处理

3D 堆叠内存是一种新兴的内存架构,它可以在逻辑层顶部垂直堆叠内存层。该逻辑层可以设计为具有对多种操作的硬件支持,从而实现内存单元内的计算。19

 

内存内处理

DRAM 技术特别适合支持按位运算,因为相邻的内存行可以通过其位线相互通信。

Ambit21 通过利用 DRAM 的模拟操作来支持批量按位多数/与/或/非函数。这些操作的组合允许完整应用的设计。最近的研究表明,Ambit 的核心操作原理可以在商用现成 DRAM 芯片中执行,而无需更改 DRAM。7 Ambit 将批量按位运算的性能提高了 30 到 45 倍,并将能耗降低了 25% 到 60%,从而使数据库查询的整体加速提高了 4 到 12 倍。

SIMDRAM8 使用按位多数运算和非运算创建用户定义的任意运算的优化图表示,可以使用 Ambit 中定义的三行激活命令执行这些运算。SIMDRAM 控制单元通过执行先前定义的 DRAM 命令来协调从开始到结束的计算。与 CPU/GPU 执行相比,SIMDRAM 将性能提高了 88/5.8 倍,并将能耗降低了 257/31 倍。

基于 DRAM 的 PuM 架构 pLUTo5 通过引入批量 DRAM 内值查找机制,扩展了 PuM 的灵活性和性能。查找完全在 DRAM 子阵列内进行,因此在任何时候都不需要将数据移出芯片。使用 pLUTo,可以将任意复杂的功能实现为查找表(只要内存阵列足够大以容纳它们),同时最大限度地减少数据的整体移动。与 CPU/GPU 执行相比,pLUTo 将性能提高了 33/8 倍,并将能耗降低了 110/80 倍。

PRIME2 和 ISAAC22 是两种有前途的基于 ReRAM 的神经网络加速器。这些方案利用 ReRAM 交叉开关阵列在模拟域中高效地执行矩阵向量乘法。相对于最先进的神经处理单元设计,这些解决方案报告的性能和能耗分别提高了 2360 倍和 895 倍。

 

促进 PiM 的采用

由于量化神经网络依赖于简单的运算,因此它们是利用 PiM 在边缘设备上处理人工智能内核的主要目标。在数据驻留地附近执行更简单的计算大大减少了数据的整体移动,从而提高了延迟、吞吐量和能源效率。这些很可能更有效地应用于量化和二值 CNN,它们使用异或非和位计数运算符。

为了验证 PiM 的性能和能源优点,下一节将定量分析 Ambit(一种支持按位逻辑运算的基于 DRAM 的 PuM 架构)为边缘设备 CNN 图像推理带来的改进。

 

面向内存处理还是不面向内存处理:定量分析

本节评估了表 1 中介绍的最新神经网络的二值和量化版本的推理准确性、性能和能源成本。为此,表 2 显示了基于 Ambit 的 PiM 设计在这些网络上执行推理的能耗。这些估计考虑了卷积所需的dominant MAC 运算的成本。能量是针对边缘设备上的 ARM CPU(基线)以及 PiM 技术的分析模型计算的。(要完全访问原始参考文献,请参阅 https://github.com/joaodinissf/qcnn-accuracy/。)

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

这表明不同的准确性-性能-能源权衡是可能的。表 3 分析了表 1 中四个最新的神经网络的性能,目标是 15 和 60 FPS,对于 3 位、2 位和 1 位精度,以及 Qualcomm Snapdragon 865、Intel Xeon Gold 6154 和 Edge TPU 基线支持的推理吞吐量(以 FPS 为单位),并与基于 Ambit 的 PiM 架构进行比较。带有“-”的单元格表示缺乏实时支持;带有“+”的单元格表示实时支持。经验观察表明,这些量化模型确保了许多应用的足够准确性。巧妙的量化技术甚至可以进一步压缩最小的神经网络模型,并将非常大的网络移植到功耗受限的设备中使用,而准确性损失很小且可调。

To PiM or Not to PiM: The case for in-memory inferencing of quantized CNNs at the edge

 

准确性

平均准确度损失为 6.8%,在最佳情况下,损失低至 2.2%。在 1 位网络的准确性可能导致准确度损失过大的情况下,采用 2 位或 3 位量化通常会产生良好的准确度值。

 

性能

所描述的基于 Ambit 的加速器在 12 种情况中的 8 种情况下实现了 15 FPS,在另外 4 种情况下实现了 60 FPS。相比之下,Qualcomm Snapdragon、Intel Xeon 和 Edge TPU 基线分别在 12 种情况中的零种、三种和九种情况下维持 15 FPS,在 12 种情况中的零种、零种和九种情况下维持 60 FPS。基于 Ambit 的加速器相对于这些基线的平均加速分别为 58.8 倍、21.3 倍和 4.6 倍。

可以得出两个关键结论。首先,Edge TPU 对于 VGG-16 只能维持 3.4 FPS 的处理速率,因为该网络具有大量的参数。这说明了当前专用神经网络加速器在处理非常大的网络时的可扩展性较差。其次,PiM 实现中灵活的并行度,通过并行运行多个子阵列实现,使得推理时间与网络规模呈准线性关系扩展,这使得最大网络中的推理时间接近恒定。

 

能量

相对于 32 位精度,对于 1 位精度,观察到平均节能 35.4 倍。能量增益与量化程度成线性比例。

 

开放挑战

随着要处理的数据量接近已安装的处理能力,边缘人工智能的成功实施将取决于能够执行人工智能任务同时满足严格的性能和能源效率要求的优化架构的开发。在引入 1000 核处理器和扩展计算单元中的并行度级别之后,计算机架构师和软件开发人员现在必须转向内存,以设计下一代高性能和高效系统。虽然 PiM 架构已显示出前景16,但在边缘层启用它们的采用将需要回答以下开放问题

 

对于制造商:设计 PiM

软硬件协同设计。 应促进 PiM 技术及其编译器与新固件和操作系统的集成,以实现边缘系统的设计,使其具有最大的性能和能源效率,从而满足人工智能应用和用例的计算需求。PiM 可以通过支持常见的图像处理操作来专门用于边缘设备,这对于性能尤其重要。

低设计复杂性和成本。 PiM 设计应足够低成本,以吸引硬件制造商将其集成到其产品中。这将需要开发早期访问商业原型和概念验证产品,以鼓励早期采用者传播该技术并抵消研发成本。PiM 技术正达到成熟点,它将很快进入自动驾驶汽车、医疗保健、数字农业和其他具有巨大潜在市场的边缘人工智能应用。

多层 PiM 架构。 随着 PiM 技术的成熟,它将用互补的处理组件填充现有内存层次结构的多个级别,每个级别都有其自身的优点和缺点。3,12 例如,已经提出了片上处理(processing-in-cache)架构,它牺牲了 DRAM 容量以换取更高的速度和对更广泛操作的支持。类似地,片上存储处理(processing-in-storage)(通常面向非易失性存储器)非常适合对海量数据执行更简单的操作,并具有非常高的吞吐量。

编译器。 PiM 基板将需要定制编译器;这些编译器可以作为一种工具来帮助软件开发人员识别常见的内存访问和计算模式,以便自动化编译过程的某些步骤,从而产生最大的性能(例如,采用理想的数据映射或规避瓶颈内存访问)。

 

对于最终用户:PiM 的软件开发

算法设计。 将现有和新兴应用映射到 PiM 基板需要算法利用数据量化、暴露的并行性和内存访问的合并,以抵消系统中高成本的操作,这些操作在边缘设备上尤其昂贵。程序员负责实现性能、能源效率和准确性之间的理想权衡,以满足目标人工智能应用的需求。

开发框架。 一种以低成本方式使编译器了解应用程序数据流的方法是创建一个直观且富有表现力的应用程序编程接口(API),该接口以易于使用的方式抽象 PiM 基板支持的尽可能多的高效操作。人们很容易将 PiM 的当前状态与通用图形处理器(general-purpose computing on graphics processing units, GPGPU)的早期阶段进行类比:CUDA 和 OpenCL 在大规模采用 GPU 方面发挥了重要作用,类似的 API 必须承担 PiM 的角色。

基准测试工具。 标准基准测试、性能分析、模拟和分析工具能够比较不同的架构,因此对于 PiM 的研发阶段至关重要。对于新兴应用而言,尤其如此,边缘人工智能工作负载就是这种情况。类似于 MLPerf(来自学术界、研究实验室和工业界的人工智能领导者联盟合作的成果)在机器学习算法开发中发挥的作用,一套标准化的测试将使 PiM 的开发保持坚定和开放。

 

未来会带来什么以及 PiM 的作用

对边缘人工智能的需求将继续增长。用于处理人工智能的高性能和高能效的基于 PiM 的边缘架构应具有以下品质

支持量化数据结构。 正如文献中详尽显示的那样,特别是对于推理,使用降低的位宽表示仅产生很小的准确性损失。这对于减少内存子系统内部/来自/到内存子系统的数据移动以及增加向量化和并行度尤其有用。

支持专用指令。 按位和查找表(lookup table, LUT)运算可以在内存基板中作为行级运算或在逻辑层中实现,这对于以低硬件复杂性、高带宽和高并行度运行人工智能内核具有显着优势。

避免不必要的数据移动。 编译器应该能够检测到人工智能内核的哪些部分应该在处理器上运行,哪些部分应该在内存中运行。不仅内核的不同部分更适合不同的子系统,而且平衡它们之间的工作负载以最大限度地提高性能也至关重要。最大限度地减少能源消耗是计算机体系结构社区应努力实现的另一个目标。

培养 PiM 生态系统。 在 PiM 的采用中达到临界质量是其成功的关键里程碑,实现这一目标需要程序员友好的界面、直观的编译器和全面的测试套件,以及一套行业标准基准。

我们从哪里开始?

几种 PiM 架构已经证明了通过满足此处提出的要点来执行具有前所未有的效率水平的人工智能任务的能力。然而,现有的 PiM 设计支持的操作范围有限,并且需要进一步的工作来满足人工智能任务的要求。

PiM 不是万能药,它不会取代传统计算——尽管可能很快就会明显看出,计算机和其他智能设备受益于同时包含传统处理单元和支持 PiM 的内存。在设计新架构时,计算机架构师必须牢记,数据移动在延迟和能源方面都很昂贵。新兴技术和架构能够缓解数据移动,因此,为设计更高效的计算设备铺平了道路。当前的范式只能带我们走这么远;PiM 提出了一个引人注目的替代方案。

 

致谢

这项工作部分由葡萄牙电信研究所和葡萄牙科学技术基金会根据 EXPL/EEI-HAC/1511/2021、PTDC/EEIHAC/30485/2017 和 UIDB/EEA/50008/2020 资助。

 

参考文献

1. Bonawitz, K., Kairouz, P., McMahan, B., Ramage, D. 2021. 联邦学习和隐私:在去中心化数据上构建用于机器学习和数据科学的隐私保护系统。acmqueue 19(5), 87–114; https://dl.acm.org/doi/10.1145/3494834.3500240.

2. Chi, P., Li, S., Xu, C., Zhang, T., Zhao, J., Liu, Y., Wang, Y., Xie, Y. 2016. PRIME:一种用于基于 ReRAM 的主内存中的神经网络计算的新型内存处理架构。 SIGARCH Computer Architecture News 44(3), 27-39; https://dl.acm.org/doi/10.1145/3007787.3001140.

3. Devaux, F. 2019. 真正的内存处理加速器。在 IEEE Hot Chips 31 Symposium (HCS). IEEE Computer Society, 1–24; https://ieeexplore.ieee.org/document/8875680.

4. Duarte, P., Tomas, P., Falcao, G. 2017. SCRATCH:端到端应用程序感知软 GPGPU 架构和修剪工具。在 第 50 届年度 IEEE/ International Symposium on Microarchitecture (MICRO), 165-177; https://ieeexplore.ieee.org/document/8686531.

5. Ferreira, J. D., Falcao, G., Gómez-Luna, J., Alser, M., Orosa, L., Sadrosadati, M., Kim, J. S., Oliveira, G. F., Shahroodi, T., Nori, A., Mutlu, O. 2022. pLUTo:通过查找表在 DRAM 中实现大规模并行计算。在 第 55 届 IEEE/ International Symposium on Microarchitecture (MICRO), 900-919; https://www.computer.org/csdl/proceedings-article/micro/2022/627200a900/1HMSBFwBUOc.

6. Fuketa, H., Uchiyama, K. 2021. 面向物理网络系统时代的边缘人工智能芯片。Computer 54(1), 84-88; https://ieeexplore.ieee.org/document/9321799.

7. Gao, F., Tziantzioulis, G., Wentzlaff, D. 2019. ComputeDRAM:使用现成 DRAM 进行内存内计算。在 第 52 届年度 IEEE/ International Symposium on Microarchitecture (MICRO) 会议论文集, 100-113; https://dl.acm.org/doi/10.1145/3352460.3358260.

8. Hajinazar, N., Oliveira, G., Gregorio, S., Ferreira, J., Ghiasi, N., Patel, M., Alser, M., Ghose, S., Gómez- Luna, J., Mutlu, O. 2021. SIMDRAM:用于使用 DRAM 进行位串行 SIMD 处理的框架。在 第 26 届 编程语言和操作系统架构支持国际会议 (ASPLOS) 会议论文集, 329-345; https://dl.acm.org/doi/10.1145/3445814.3446749.

9. Hennessy, J. L., Patterson, D. A. 2019. 计算机体系结构的新黄金时代。Communications of the 62(2), 48-60; https://dl.acm.org/doi/10.1145/3282307.

10. Hubara, I., Courbariaux, M., Soudry, D., El-Yaniv, R., Bengio, Y. 2017. 量化神经网络:使用低精度权重和激活训练神经网络。Journal of Machine Learning Research 18, 1-30; https://www.jmlr.org/papers/volume18/16-456/16-456.pdf.

11. Jouppi, N., Young, C., Patil, N., Patterson, D., Agrawal, G., Bajwa, R., Bates, S., Bhatia, S., Boden, N., Borchers, A. 2017. 张量处理单元的数据中心内性能分析。在 第 44 届年度 /IEEE 计算机体系结构国际研讨会, 1-12; https://ieeexplore.ieee.org/abstract/document/8192463/similar.

12. Kwon, Y.-C., Lee, S., Lee, J., Kwon, S.-H., Ryu, J., Son, J.-P., Seongil, O., Yu, H.-S., Lee, H., Kim, S. 2021. 25.4 基于 HBM2 的 20 纳米 6GB 内存内函数 DRAM,具有 1.2 TFLOPS 可编程计算单元,使用库级并行性,用于机器学习应用。在 IEEE International Solid-state Circuits Conference (ISSCC), 350-352; https://ieeexplore.ieee.org/document/9365862.

13. Marques, J. Andrade, J., Falcao, G. 2017. 卷积神经网络处理器上的不可靠内存操作。在 IEEE International Workshop on Signal Processing Systems (SiPS), 1-6; https://ieeexplore.ieee.org/document/8110024.

14. Mutlu, O., Ghose, S., Gómez-Luna, J., Ausavarungnirun, R. 2020. 内存处理现代入门读物。arXiv; https://arxiv.org/abs/2012.03112.

15. Pandey, P., Pompili, D. 2019. 通过闭环近似计算处理移动计算中的有限资源。IEEE Pervasive Computing 18 (1), 39–48; https://ieeexplore.ieee.org/document/8705029.

16. Radojkovic, P., Carpenter, P., Esmaili-Dokht, P., Cimadomo, R., Charles, H.-P., Sebastian, A., Amato, P. 2021. 内存处理:引爆点。欧洲高性能计算技术平台,白皮书; https://www.etp4hpc.eu/pujades/files/ETP4HPC_WP_Processing-In-Memory_FINAL.pdf.

17. Rastegari, M., Ordonez, V., Redmon, J., Farhadi, A. 2020. 通过 XNOR 网络在边缘端实现人工智能。《Communications of the 》63(12), 83-90; https://dl.acm.org/doi/10.1145/3429945.

18. Reinsel, D., Gantz, J., Rydning, J. 2018. 世界的数字化转型——从边缘到核心。IDC 白皮书,I. D. Corporation; https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf.

19. Rosenfeld, P. 2014. 混合内存立方体的性能探索。博士论文,马里兰大学; https://user.eng.umd.edu/~blj/papers/thesis-PhD-paulr--HMC.pdf.

20. Satyanarayanan, M. 2020. 边缘计算:一种新的颠覆性力量。第 13 届 国际系统和存储会议主题演讲。

21. Seshadri, V., Lee, D., Mullins, T. Hassan, H., Boroumand, A., Kim, J., Kozuch, M., Mutlu, O., Gibbons, P., Mowry, T. 2017. Ambit:使用商用 DRAM 技术的用于批量位运算的内存加速器。发表于第 50 届年度 IEEE/ 国际微体系结构研讨会论文集, 273-287; https://dl.acm.org/doi/10.1145/3123939.3124544.

22. Shafiee, A., Nag, A., Muralimanohar, N., Balasubramonian, R., Strachan, J., Hu, M., Williams, R., Srikumar, V. 2016. ISAAC:一种具有横杆交叉阵列中原位模拟算术的卷积神经网络加速器。《 SIGARCH Computer Architecture News 》44(3), 14-26; https://dl.acm.org/doi/10.1145/3007787.3001139.

23. Talpes, E., Sarma, D., Venkataramanan, G., Bannon, P., McGee, B., Floering, B., Jalote, A., Hsiong, C. Arora, S., Gorti, A. 2020. 特斯拉全自动驾驶计算机的计算解决方案。《IEEE Micro 》40(2), 25-35; https://ieeexplore.ieee.org/document/9007413.

24. Zheng, H., Hu, H., Han, Z. 2020. 保护机器学习中的用户隐私:本地差分隐私或联邦机器学习?《IEEE Intelligent Systems》35(4), 5–14; https://ieeexplore.ieee.org/document/9144394.

Gabriel Falcao 于 2010 年在葡萄牙科英布拉大学获得博士学位。他是 Instituto de Telecomunicações 的研究员,也是科英布拉大学电气与计算机工程系的终身助理教授。他于 2011-2012 年和 2017 年在 EPFL(瑞士洛桑联邦理工学院)担任访问教授,并于 2018 年在苏黎世联邦理工学院担任访问学者。Falcao 是 100 多篇同行评议出版物的合著者,他的研究兴趣包括用于数据密集型信号处理应用的并行计算机体系结构。他致力于构建用于人工智能的低功耗体系结构,特别关注 PiM 硬件。2021 年,Falcao 担任 Euro-Par 的本地主席,以及 IEEE SiPS 的大会联合主席,其主题是边缘计算的信号处理。Falcao 是 IEEE 高级会员和欧洲 HiPEAC 卓越网络成员。联系方式:[email protected]

João Dinis Ferreira 拥有科英布拉大学电气与计算机工程学士学位,并以班级前 3% 的成绩毕业。他是苏黎世联邦理工学院的研究和教学助理,并在那里攻读电气工程和信息技术硕士学位。他的研究兴趣包括内存系统、内存内处理和机器学习硬件。联系方式:[email protected]

版权 © 2022 归所有者/作者所有。出版权已授权给 。

acmqueue

最初发表于 Queue vol. 20, no. 6——
数字图书馆 中评论这篇文章





更多相关文章

David Chisnall - 如何设计 ISA
在过去的十年中,我参与了几个项目,这些项目为各种处理器设计了 ISA(指令集体系结构)扩展或全新 ISA(您甚至可以在 RISC-V 规范的致谢中找到我的名字,可以追溯到第一个公开版本)。当我开始时,我对什么构成好的 ISA 知之甚少,而且据我所知,这在任何地方都没有正式教授。


Mohamed Zahran - 异构计算:将长期存在
在过去几年中,关于流行语异构计算的提及一直在增加,并且将在未来几年继续被听到,因为异构计算将长期存在。什么是异构计算,为什么它正在成为常态?我们如何从软件和硬件方面处理它?本文提供了对其中一些问题的解答,并提出了关于其他问题的不同观点。


David Chisnall - 没有所谓的通用处理器
计算机体系结构中存在一种日益增长的趋势,即将处理器和加速器归类为“通用”。在今年国际计算机体系结构研讨会(ISCA 2014)上发表的论文中,45 篇中有 9 篇明确提到了通用处理器;另外一篇还提到了通用 FPGA(现场可编程门阵列),另一篇提到了通用 MIMD(多指令多数据)超级计算机,将定义延伸到了崩溃的边缘。本文提出了一个论点,即没有真正通用的处理器,并且相信这种设备是有害的。


Satnam Singh - 没有处理器也能计算
从程序员的角度来看,硬件和软件之间的区别正在变得模糊。随着程序员努力满足当今系统的性能要求,他们将面临越来越大的需求,即利用替代计算元件,例如 GPU(图形处理单元),它是为数据并行计算而颠覆的图形卡,以及 FPGA(现场可编程门阵列)或软硬件。





© 保留所有权利。

© . All rights reserved.