A multiply-accumulate (MAC) operation is the main computation unit for DSP applications. DSP blocks are one of the efficient solutions to implement MACs in FPGA's. However, since the DSP blocks have wide multiplier and adder blocks, MAC operations using low bit-length parameters lead to an underutilization problem. Hence, an efficient approximation technique is introduced. The technique includes manipulation and approximation of the low bit-length fixed-point parameters based upon a Single DSP - Multiple Multiplication (SDMM) execution. The SDMM changes the traditional MAC implementation in the DSP block by separating multiplication and accumulation operations. While the accumulator hardware available in the DSP block is used for multiple parameter multiplication, parallel LUTs are employed for the accumulation part of the MAC operation. The accuracy of the developed optimization technique was evaluated for different CNN weight bit precisions using the Alexnet and VGG-16 networks and the Tiny ImageNet dataset. The optimization can be implemented without loss of accuracy in almost all cases, while it causes slight accuracy losses in a few cases. Through these optimizations, the SDMM is performed at the cost of a small hardware overhead. For example, a single DSP block executes 3 8-bit fixed-point parameter multiplications. As a result of our optimizations, the parameters are represented in a different format on off-chip memory, providing up to 33% compression without any hardware cost. The compression rate can be further increased by up to 97% when used in conjunction with other compression methods for the VGG-16. Reaching this compression rate requires extra hardware cost. A prototype systolic array architecture was implemented employing our optimizations on a Xilinx Zynq FPGA. It reduced the number of DSP blocks by 66.6%, 75%, and 83.3% for 8, 6, and 4-bit input variables, respectively.
翻译:倍积( MAC) 操作是 DSP 应用程序的主要计算单位 。 DSP 区块是执行 FPGA 中 MAC 执行 MAC 的高效解决方案之一。 但是, 由于 DSP 区块具有宽度乘数和添加区块, 使用低位长参数的MAC 操作会导致使用不足的问题。 因此, 采用了高效近距离技术。 该技术包括基于单一 DSP - 多重乘数( SDMM) 执行的低位比特固定点参数的操作和近似。 SDMM 可以通过分离倍增和累积操作来改变 DSP 区块中传统的 MAC 执行。 DSP 区块中可用的累积速率硬件用于多重参数倍增, 使用平行 LUTS 用于MAC 操作的累积部分。 因此, 开发的优化技术的精确度是使用不同的CNN 重量比特点, 使用 VGGG-16 网络和 Tini 图像网络数据集。 最优化可以在几乎所有情况下实施, 在少数情况下造成轻微的精确损失。 通过这些优化, 。 在不精确度上, SDMMDMD 节中, 节中, 运行运行运行运行运行中 使用一个成本 将使用一个不同的硬缩缩缩压 。