长期负载请求继续限制高性能处理器的性能。为了提高处理器的潜伏能力,建筑师主要依赖两种关键技术:复杂的数据预脱水和较大的芯片固定缓存。在这项工作中,我们表明:1)即使是先进的先进预摘要,也只能预测一半的外芯片负载请求,平均在广泛的工作负载中,而2)由于尺寸的增加,并且片上缓存的复杂性,花片载荷请求的延迟的很大一部分用于访问片上缓存层次结构。这项工作的目的是通过从其关键路径上删除片上缓存访问延迟来加速片外负载请求。为此,我们提出了一种称为爱马仕(Hermes)的新技术,其关键想法是:1)准确预测哪些负载请求可能会偏离芯片,2)猜测预测的芯片外载荷直接从主芯片负载所需的数据内存,同时也同时访问此类负载的高速缓存层次结构。为了启用爱马仕,我们开发了一种新的轻巧,基于智障的外芯片加载预测技术,该技术学会使用多个程序功能(例如,程序计数器的序列)来识别芯片外负载请求。对于每个负载请求,预测器都会观察一组程序功能,以预测负载是否会外芯片。如果预计负载将放置芯片,Hermes一旦生成负载的物理地址,就会直接向内存控制器发出投机请求。如果预测是正确的,则负载最终会错过缓存层次结构,并等待正在进行的投机请求完成,从而将芯片上缓存层次结构访问延迟隐藏在离芯片外负载的关键路径中。我们的评估表明,爱马仕显着提高了最先进的基线的性能。我们开源爱马仕。
translated by 谷歌翻译
过去的研究提出了许多硬件预取技术,其中大多数依赖于利用一种特定类型的程序上下文信息(例如,程序计数器,Cacheline地址)来预测未来的存储器访问。这些技术完全忽略了整个系统上的预取器的不良影响(例如,内存带宽使用),或将系统级反馈结合为返回为系统 - 不知预取算法。我们表明,由于其固有的无法在预取帐户中占用多种不同类型的程序上下文和系统级反馈信息,因此在广泛的工作负载和系统配置中往往会在广泛的工作负载和系统配置中丢失其性能效益。在本文中,我们进行了设计一个整体预取算法的案例,该算法学习使用多种不同类型的程序上下文和系统级反馈信息来预取。为此,我们提出了Pythia,它将预取器制定为钢筋学习代理。对于每种需求请求,Pythia会观察多种不同类型的程序上下文信息以进行预取决定。对于每个预取决定,Pythia接收数字奖励,该奖励评估当前内存带宽使用情况下的预取质量。 Pythia使用此奖励来加强程序上下文信息和预取决定之间的相关性,以在将来生成高度准确,及时和系统感知的预取请求。我们使用仿真和硬件综合的广泛评估表明,Pythia在各种工作负载和系统配置中优于多种最先进的预取器,同时在桌面类处理器中产生的1.03%的面积开销,并且工作负载中没有软件更改。 Pythia的源代码可以从https://github.com/cmu-safari/pythia自由下载。
translated by 谷歌翻译
虽然离散事件模拟器是建筑研究,设计和开发的必备工具,但它们的实用性受到在调查下的现实应用的极长时间的影响。这项工作描述了一项协调一致的努力,其中机器学习(ML)用于加速离散事件仿真。首先,构建了用于静态指令属性和动态处理器状态的基于ML的指令延迟预测框架。然后,基于所提出的指令延迟预测器来实现GPU加速的并行模拟器,并且验证了其模拟精度和吞吐量并针对最先进的模拟器评估。利用现代GPU,基于ML的模拟器显着优于传统的模拟器。
translated by 谷歌翻译
Persistent Memory (PMEM), also known as Non-Volatile Memory (NVM), can deliver higher density and lower cost per bit when compared with DRAM. Its main drawback is that it is typically slower than DRAM. On the other hand, DRAM has scalability problems due to its cost and energy consumption. Soon, PMEM will likely coexist with DRAM in computer systems but the biggest challenge is to know which data to allocate on each type of memory. This paper describes a methodology for identifying and characterizing application objects that have the most influence on the application's performance using Intel Optane DC Persistent Memory. In the first part of our work, we built a tool that automates the profiling and analysis of application objects. In the second part, we build a machine learning model to predict the most critical object within large-scale graph-based applications. Our results show that using isolated features does not bring the same benefit compared to using a carefully chosen set of features. By performing data placement using our predictive model, we can reduce the execution time degradation by 12\% (average) and 30\% (max) when compared to the baseline's approach based on LLC misses indicator.
translated by 谷歌翻译
In this work, we propose MUSTACHE, a new page cache replacement algorithm whose logic is learned from observed memory access requests rather than fixed like existing policies. We formulate the page request prediction problem as a categorical time series forecasting task. Then, our method queries the learned page request forecaster to obtain the next $k$ predicted page memory references to better approximate the optimal B\'el\'ady's replacement algorithm. We implement several forecasting techniques using advanced deep learning architectures and integrate the best-performing one into an existing open-source cache simulator. Experiments run on benchmark datasets show that MUSTACHE outperforms the best page replacement heuristic (i.e., exact LRU), improving the cache hit ratio by 1.9% and reducing the number of reads/writes required to handle cache misses by 18.4% and 10.3%.
translated by 谷歌翻译
这项工作侧重于特定于域的加速器的有效敏捷设计方法。我们采用垂直开发堆栈的功能逐个功能增强,并将其应用于TVM / VTA推理加速器。我们已经增强了VTA设计空间,并启用了用于额外工作负载的端到端支持。这是通过增强VTA微架构和指令集架构(ISA)来实现的,以及通过增强TVM编译堆栈来支持各种VTA配置。 VTA TSIM实现(基于凿子)已通过ALU / GEMM执行单元的完全流水线版本增强。在TSIM中,内存宽度现在可以在8-64字节之间。对于支持较大的刮板,已经使场宽度更加灵活。已添加新的说明:元素 - WISE 8位乘法,支持深度卷积,并使用焊盘值的选择加载以支持最大池。还添加了对更多层和更好的双缓冲。完全管制的ALU / GEMM有助于显着帮助:4.9倍的循环较少,最小区域更改为在默认配置下运行RESET-18。可以实例化特征在于11.5倍的循环计数的配置,以12倍的循环计数更大的区域。显示了区域性能帕累托曲线上的许多点,展示了执行单元尺寸,内存接口宽度和刻痕尺寸的余额。最后,VTA现在能够运行MobileNet 1.0和所有层进行Resnet,包括先前禁用的池和完全连接的图层。 TVM / VTA架构始终在几分钟内以RTL呈现端到端工作量评估。通过我们的修改,它现在提供了更大的可行配置,具有广泛的成本与性能。所有提到的所有功能都可以在OpenSource叉中提供,而这些功能的子集已经上游。
translated by 谷歌翻译
剖面隐藏的马尔可夫模型(PHMM)广泛用于许多生物信息学应用中,以准确识别生物学序列(例如DNA或蛋白质序列)之间的相似性。 PHMM使用常用和高度精确的方法(称为Baum-Welch算法)来计算这些相似性。但是,Baum-Welch算法在计算上很昂贵,现有作品为固定的PHMM设计提供了软件或仅硬件解决方案。当我们分析最先进的作品时,我们发现迫切需要灵活,高性能和节能的硬件软件共同设计,以有效地有效地解决所有主要效率低下的效率PHMM的Baum-Welch算法。我们提出了APHMM,这是第一个灵活的加速框架,可以显着减少PHMM的Baum-Welch算法的计算和能量开销。 APHMM利用硬件软件共同设计来解决Baum-Welch算法中的主要效率低下,通过1)设计灵活的硬件来支持不同的PHMMS设计,2)利用可预测的数据依赖性模式,并使用chip Memory的片段记忆,使用纪念活动技术,memoigience Memoriques,Memoigience Memoriques,Memoigient, 3)通过基于硬件的过滤器快速消除可忽略的计算,4)最小化冗余计算。我们在专用硬件和2)GPU的软件优化方面实现了我们的1)硬件软件优化,以为PHMM提供首个灵活的Baum-Welch加速器。与Baum-Welch算法的CPU,GPU和FPGA实现相比,APHMM提供的显着加速度为15.55 x-260.03x,1.83x-5.34x和27.97倍,分别为27.97倍。 APHMM的表现优于三个重要的生物信息学应用程序的最新CPU实现,1)错误校正,2)蛋白质家族搜索和3)多个序列对齐,比1.29x-59.94x,1.03x-1.75x和分别为1.03x-1.95x。
translated by 谷歌翻译
基于von-neumann架构的传统计算系统,数据密集型工作负载和应用程序(如机器学习)和应用程序都是基本上限制的。随着数据移动操作和能量消耗成为计算系统设计中的关键瓶颈,对近数据处理(NDP),机器学习和特别是神经网络(NN)的加速器等非传统方法的兴趣显着增加。诸如Reram和3D堆叠的新兴内存技术,这是有效地架构基于NN的基于NN的加速器,因为它们的工作能力是:高密度/低能量存储和近记忆计算/搜索引擎。在本文中,我们提出了一种为NN设计NDP架构的技术调查。通过基于所采用的内存技术对技术进行分类,我们强调了它们的相似之处和差异。最后,我们讨论了需要探索的开放挑战和未来的观点,以便改进和扩展未来计算平台的NDP架构。本文对计算机学习领域的计算机架构师,芯片设计师和研究人员来说是有价值的。
translated by 谷歌翻译
当今的大多数计算机视觉管道都是围绕深神经网络构建的,卷积操作需要大部分一般的计算工作。与标准算法相比,Winograd卷积算法以更少的MAC计算卷积,当使用具有2x2尺寸瓷砖$ F_2 $的版本时,3x3卷积的操作计数为2.25倍。即使收益很大,Winograd算法具有较大的瓷砖尺寸,即$ f_4 $,在提高吞吐量和能源效率方面具有更大的潜力,因为它将所需的MAC降低了4倍。不幸的是,具有较大瓷砖尺寸的Winograd算法引入了数值问题,这些问题阻止了其在整数域特异性加速器上的使用和更高的计算开销,以在空间和Winograd域之间转换输入和输出数据。为了解锁Winograd $ F_4 $的全部潜力,我们提出了一种新颖的Tap-Wise量化方法,该方法克服了使用较大瓷砖的数值问题,从而实现了仅整数的推断。此外,我们介绍了以功率和区域效率的方式处理Winograd转换的自定义硬件单元,并展示了如何将此类自定义模块集成到工业级,可编程的DSA中。对大量最先进的计算机视觉基准进行了广泛的实验评估表明,Tap-Wise量化算法使量化的Winograd $ F_4 $网络几乎与FP32基线一样准确。 Winograd增强的DSA可实现高达1.85倍的能源效率,最高可用于最先进的细分和检测网络的端到端速度高达1.83倍。
translated by 谷歌翻译
计算机架构和系统已优化了很长时间,以便高效执行机器学习(ML)模型。现在,是时候重新考虑ML和系统之间的关系,并让ML转换计算机架构和系统的设计方式。这有一个双重含义:改善设计师的生产力,以及完成良性周期。在这篇论文中,我们对应用ML进行计算机架构和系统设计的工作进行了全面的审查。首先,我们考虑ML技术在架构/系统设计中的典型作用,即快速预测建模或设计方法,我们执行高级分类学。然后,我们总结了通过ML技术解决的计算机架构/系统设计中的常见问题,并且所用典型的ML技术来解决它们中的每一个。除了在狭义中强调计算机架构外,我们采用数据中心可被认为是仓库规模计算机的概念;粗略的计算机系统中提供粗略讨论,例如代码生成和编译器;我们还注意ML技术如何帮助和改造设计自动化。我们进一步提供了对机会和潜在方向的未来愿景,并设想应用ML的计算机架构和系统将在社区中蓬勃发展。
translated by 谷歌翻译
分支预测是一个架构功能,加速了管道处理器上的分支指令的执行,并降低了分支的成本。摩尔法后期深度学习(DL)的最新进展是加速自动芯片设计,低功耗计算机架构的领域等等。传统的计算机架构设计和算法可以根据基于深度学习算法的动态预测因子受益,该算法通过优化大量数据的参数来学习。在本调查论文中,我们专注于传统的分支预测算法,分析其限制,并提出了对如何应用深度学习技术如何创建能够预测条件分支指令的动态分支预测器的文献调查。基于神经网络的动态分支预测技术,在这场领域的现有调查焦点。我们计划根据基于DL和先进机器学习(ML)的分支预测因子的最新研究来改进调查。
translated by 谷歌翻译
神经网络(NNS)的重要性和复杂性正在增长。神经网络的性能(和能源效率)可以通过计算或内存资源约束。在内存阵列附近或内部放置计算的内存处理(PIM)范式是加速内存绑定的NNS的可行解决方案。但是,PIM体系结构的形式各不相同,其中不同的PIM方法导致不同的权衡。我们的目标是分析基于NN的性能和能源效率的基于DRAM的PIM架构。为此,我们分析了三个最先进的PIM架构:(1)UPMEM,将处理器和DRAM阵列集成到一个2D芯片中; (2)Mensa,是针对边缘设备量身定制的基于3D堆栈的PIM架构; (3)Simdram,它使用DRAM的模拟原理来执行位序列操作。我们的分析表明,PIM极大地受益于内存的NNS:(1)UPMEM在GPU需要内存过度按要求的通用矩阵 - 矢量乘数内核时提供23x高端GPU的性能; (2)Mensa在Google Edge TPU上提高了3.0倍和3.1倍的能源效率和吞吐量,用于24个Google Edge NN型号; (3)SIMDRAM在三个二进制NNS中以16.7倍/1.4倍的速度优于CPU/GPU。我们得出的结论是,由于固有的建筑设计选择,NN模型的理想PIM体系结构取决于模型的独特属性。
translated by 谷歌翻译
Deep learning based recommendation models (DLRM) are widely used in several business critical applications. Training such recommendation models efficiently is challenging primarily because they consist of billions of embedding-based parameters which are often stored remotely leading to significant overheads from embedding access. By profiling existing DLRM training, we observe that only 8.5% of the iteration time is spent in forward/backward pass while the remaining time is spent on embedding and model synchronization. Our key insight in this paper is that access to embeddings have a specific structure and pattern which can be used to accelerate training. We observe that embedding accesses are heavily skewed, with almost 1% of embeddings represent more than 92% of total accesses. Further, we observe that during training we can lookahead at future batches to determine exactly which embeddings will be needed at what iteration in the future. Based on these insight, we propose Bagpipe, a system for training deep recommendation models that uses caching and prefetching to overlap remote embedding accesses with the computation. We designed an Oracle Cacher, a new system component which uses our lookahead algorithm to generate optimal cache update decisions and provide strong consistency guarantees. Our experiments using three datasets and two models shows that our approach provides a speed up of up to 6.2x compared to state of the art baselines, while providing the same convergence and reproducibility guarantees as synchronous training.
translated by 谷歌翻译
变形金刚是一种深入学习语言模型,用于数据中心中的自然语言处理(NLP)服务。在变压器模型中,生成的预训练的变压器(GPT)在文本生成或自然语言生成(NLG)中取得了显着的性能,它需要在摘要阶段处理大型输入上下文,然后是产生一个生成阶段的一次单词。常规平台(例如GPU)专门用于在摘要阶段平行处理大型输入,但是由于其顺序特征,它们的性能在生成阶段显着降低。因此,需要一个有效的硬件平台来解决由文本生成的顺序特征引起的高潜伏期。在本文中,我们提出了DFX,这是一种多FPGA加速器,该设备在摘要和发电阶段中执行GPT-2模型端到端,并具有低延迟和高吞吐量。 DFX使用模型并行性和优化的数据流,这是模型和硬件感知的设备之间快速同时执行执行。其计算核心根据自定义说明运行,并提供GPT-2操作端到端。我们在四个Xilinx Alveo U280 FPGAS上实现了建议的硬件体系结构,并利用了高带宽内存(HBM)的所有频道,以及用于高硬件效率的最大计算资源数量。 DFX在现代GPT-2模型上实现了四个NVIDIA V100 GPU的5.58倍加速度和3.99倍的能效。 DFX的成本效益比GPU设备更具成本效益,这表明它是云数据中心中文本生成工作负载的有前途解决方案。
translated by 谷歌翻译
培训深神经网络(DNNS)在企业和云数据中心都广受欢迎。现有的DNN培训调度程序将GPU视为主要资源,并分配其他资源,例如CPU和内存与作业要求的GPU数量成正比。不幸的是,这些调度程序不考虑作业对CPU,内存和存储资源分配的敏感性的影响。在这项工作中,我们提出了Synergy,这是一种对共享GPU群集的资源敏感调度程序。通过乐观的分析,协同作用侵犯了DNN对不同资源的敏感性;某些工作可能会从GPU育儿分配中受益更多,而某些工作可能不会受到GPU育儿分配的影响。 Synergy使用新的近乎最佳的在线算法在共享的多租户集群上安排的一组作业进行了多余的工作量感知作业。我们的实验表明,与传统的GPU育儿计划相比,工作量感知的CPU和内存分配可以提高平均JCT高达3.4倍。
translated by 谷歌翻译
稀疏卷积神经网络(CNNS)在过去几年中获得了显着的牵引力,因为与其致密的对应物相比,稀疏的CNNS可以大大降低模型尺寸和计算。稀疏的CNN经常引入层形状和尺寸的变化,这可以防止密集的加速器在稀疏的CNN模型上执行良好。最近提出的稀疏加速器,如SCNN,Eyeriss V2和Sparten,积极利用双面或全稀稀物质,即重量和激活的稀疏性,用于性能收益。然而,这些加速器具有低效的微架构,其限制了它们的性能,而不对非单位步幅卷积和完全连接(Fc)层的支持,或者遭受系统负荷不平衡的大规模遭受。为了规避这些问题并支持稀疏和密集的模型,我们提出了幻影,多线程,动态和灵活的神经计算核心。 Phantom使用稀疏二进制掩码表示,以主动寻求稀疏计算,并动态调度其计算线程以最大化线程利用率和吞吐量。我们还生成了幻象神经计算核心的二维(2D)网格体系结构,我们将其称为Phantom-2D加速器,并提出了一种支持CNN的所有层的新型数据流,包括单位和非单位步幅卷积,和fc层。此外,Phantom-2D使用双级负载平衡策略来最小化计算空闲,从而进一步提高硬件利用率。为了向不同类型的图层显示支持,我们评估VGG16和MobileNet上的幻影架构的性能。我们的模拟表明,Phantom-2D加速器分别达到了12倍,4.1 X,1.98x和2.36倍,超密架构,SCNN,Sparten和Eyeriss V2的性能增益。
translated by 谷歌翻译
编译器框架对于广泛使用基于FPGA的深度学习加速器来说是至关重要的。它们允许研究人员和开发人员不熟悉硬件工程,以利用域特定逻辑所获得的性能。存在传统人工神经网络的各种框架。然而,没有多大的研究努力已经进入创建针对尖刺神经网络(SNNS)进行优化的框架。这种新一代的神经网络对于在边缘设备上部署AI的越来越有趣,其具有紧密的功率和资源约束。我们的端到端框架E3NE为FPGA自动生成高效的SNN推理逻辑。基于Pytorch模型和用户参数,它应用各种优化,并评估基于峰值的加速器固有的权衡。多个水平的并行性和新出现的神经编码方案的使用导致优于先前的SNN硬件实现的效率。对于类似的型号,E3NE使用的硬件资源的少于50%,功率较低20%,同时通过幅度降低延迟。此外,可扩展性和通用性允许部署大规模的SNN模型AlexNet和VGG。
translated by 谷歌翻译
作为其核心计算,一种自我发挥的机制可以在整个输入序列上分配成对相关性。尽管表现良好,但计算成对相关性的成本高昂。尽管最近的工作表明了注意力分数低的元素的运行时间修剪的好处,但自我发挥机制的二次复杂性及其芯片内存能力的需求被忽略了。这项工作通过构建一个称为Sprint的加速器来解决这些约束,该加速器利用RERAM横杆阵列的固有并行性以近似方式计算注意力分数。我们的设计使用RERAM内的轻质模拟阈值电路来降低注意力评分,从而使Sprint只能获取一小部分相关数据到芯片内存。为了减轻模型准确性的潜在负面影响,Sprint重新计算数字中少数获取数据的注意力评分。相关注意分数的组合内修剪和片上重新计算可以将Sprint转化为仅线性的二次复杂性。此外,我们即使修剪后,我们也可以识别并利用相邻的注意操作之间的动态空间位置,从而消除了昂贵但冗余的数据获取。我们在各种最新的变压器模型上评估了我们提出的技术。平均而言,当使用总16KB芯片内存时,Sprint会产生7.5倍的速度和19.6倍的能量,而实际上与基线模型的等值级相当(平均为0.36%的降级)。
translated by 谷歌翻译
在小型电池约束的物流设备上部署现代TinyML任务需要高计算能效。使用非易失性存储器(NVM)的模拟内存计算(IMC)承诺在深神经网络(DNN)推理中的主要效率提高,并用作DNN权重的片上存储器存储器。然而,在系统级别尚未完全理解IMC的功能灵活性限制及其对性能,能量和面积效率的影响。为了目标实际的端到端的IOT应用程序,IMC阵列必须括在异构可编程系统中,引入我们旨在解决这项工作的新系统级挑战。我们介绍了一个非均相紧密的聚类架构,整合了8个RISC-V核心,内存计算加速器(IMA)和数字加速器。我们在高度异构的工作负载上基准测试,例如来自MobileNetv2的瓶颈层,显示出11.5倍的性能和9.5倍的能效改进,而在核心上高度优化并行执行相比。此外,我们通过将我们的异构架构缩放到多阵列加速器,探讨了在IMC阵列资源方面对全移动级DNN(MobileNetv2)的端到端推断的要求。我们的结果表明,我们的解决方案在MobileNetv2的端到端推断上,在执行延迟方面比现有的可编程架构更好,比最先进的异构解决方案更好的数量级集成内存计算模拟核心。
translated by 谷歌翻译
操作系统包括许多启发式算法,旨在提高整体存储性能和吞吐量。由于此类启发式is不能适用于所有条件和工作负载,因此系统设计人员诉诸用户对用户的众多可调参数揭示 - 基本上负担用户不断优化自己的存储系统和应用程序。存储系统通常负责I / O重型应用中的大多数延迟,因此即使是小的总延迟改善也可能很重要。机器学习(ml)技术承诺学习模式,从它们概括,并实现适应更改工作负载的最佳解决方案。我们提出ML解决方案成为OSS中的一流组件,并更换了动态优化存储系统的手动启发式。在本文中,我们描述了我们所提出的ML架构,称为KML。我们开发了一个原型KML体系结构,并将其应用于两个问题:最佳readAhead和NFS读取大小值。我们的实验表明,KML消耗了很少的操作系统资源,延迟可忽略不计,但可以学习可以分别为两种用例的2.3倍或15倍提高I / O吞吐量的模式 - 即使是复杂的,也不是为了复杂 - 在不同的存储设备上同时运行混合工作负载。
translated by 谷歌翻译