The configurable building blocks of current FPGAs -- Logic blocks (LBs), Digital Signal Processing (DSP) slices, and Block RAMs (BRAMs) -- make them efficient hardware accelerators for the rapid-changing world of Deep Learning (DL). Communication between these blocks happens through an interconnect fabric consisting of switching elements spread throughout the FPGA. In this paper, a new block, Compute RAM, is proposed. Compute RAMs provide highly-parallel processing-in-memory (PIM) by combining computation and storage capabilities in one block. Compute RAMs can be integrated in the FPGA fabric just like the existing FPGA blocks and provide two modes of operation (storage or compute) that can be dynamically chosen. They reduce power consumption by reducing data movement, provide adaptable precision support, and increase the effective on-chip memory bandwidth. Compute RAMs also help increase the compute density of FPGAs. In our evaluation of addition, multiplication and dot-product operations across multiple data precisions (int4, int8 and bfloat16), we observe an average savings of 80% in energy consumption, and an improvement in execution time ranging from 20% to 80%. Adding Compute RAMs can benefit non-DL applications as well, and make FPGAs more efficient, flexible, and performant accelerators.
翻译:在当前 FPGA 切片 -- -- 逻辑区块(LBs)、数字信号处理(DSP) 和块内存(BRAM) 的可配置构件块 -- -- 逻辑区块(LBs)、数字信号处理(DSP) 和块内存(BRAMs) -- -- 使这些区块之间的沟通通过由切换元素构成的互连结构而发生。在本文中,提议了一个新的区块,即计算内存(Compete RAs) 。计算内存(PIM), 将计算和存储能力合并到一个区块内存(BRAMs) 。可以像现有的FPGA 区块那样,将内存带(DS) 的硬硬硬件加速器加速器(DRM) 整合到 FPGA 结构中, 在80 平均节能中,在80 节能中,在80 节能中,在80 节能中,在运行,在80 节能中,在80 节能中,在运行,在80次的节能中,在80次内,在运行,在80次的节能中,在80次的节能中,在80次的节能中,在80次的节能中,在80次的节能。