您好,欢迎来到云平学术网!商务合作:journal1998@163.com,投稿邮箱:vzazhiqk@163.com

首页 > 学术资讯 > 计算机通信 > 面向FPGA的高效混合位宽块浮点卷积处理单元设计与实现

面向FPGA的高效混合位宽块浮点卷积处理单元设计与实现

上传时间:时间:2026-09-07 14:41:12

  • 关键词:
  • 块浮点;混合位宽;卷积计算;现场可编程门阵列;数据映射

摘要

混合位宽的块浮点(Block Floating Point, BFP)技术为低比特卷积计算提供了一种兼具灵活性与高效性的解决方案,能够在降低存储与计算开销的同时,保持接近浮点精度的模型性能。然而,现有基于现场可编程门阵列(Field-Programmable Gate Array, FPGA)的混合位宽BFP卷积加速器普遍未能充分利用片内数字信号处理器(Digital Signal Processor, DSP)的计算潜力,导致硬件资源浪费与计算吞吐量受限。针对这一问题,本文提出了一种新型基于FPGA的BFP卷积处理单元——BE-HB。该单元通过在单个DSP内耦合两组BFP卷积计算,支持8比特与16比特两种工作模式,从而实现高性能计算。此外,本文还设计了一种数据映射方法,通过复用块浮点打包后的共享指数与私有尾数,有效降低了DSP在双模式下进行两组BFP卷积计算的硬件资源开销。实验结果表明,与代表性基线方法相比,所提设计在保持模型精度的前提下,其计算所需的查找表(Look-Up Table, LUT)资源消耗平均降低了61.4%,实现了更优的性能与更低的资源占用,尤其适用于资源受限的FPGA边缘计算平台。

关键词:块浮点;混合位宽;卷积计算;现场可编程门阵列;数据映射

1. 引言

近年来,卷积神经网络(Convolutional Neural Network, CNN)凭借其局部感知与权重共享机制,在图像识别、自然语言处理及智能对话等领域取得了显著成果。然而,随着网络深度的增加与参数规模的扩大,CNN的计算复杂度与资源消耗呈指数级上升,对硬件平台的算力与能效提出了更高要求。8比特与16比特卷积的广泛应用,充分展示了混合位宽技术在卷积计算中的潜力。混合位宽块浮点表示法通过共享指数,将低位宽浮点数的存储优势与高位宽浮点数的计算精度相结合,能够在支持特定动态位宽(如8比特或16比特)卷积操作的同时,保持较高的精度与性能,从而为高精度数值计算提供了新的路径。

借助FPGA等专用硬件平台,混合位宽计算已取得显著进展。FPGA的可定制性使其能够为特定的混合位宽卷积操作提供高效的并行处理。例如,HFP8在FPGA上实现了混合位宽浮点数据表示,有效降低了精度损失;FAST采用可变精度(8比特或16比特)的BFP表示并结合随机舍入技术,实现了高性能的FPGA卷积计算;BiE则提出了一种具有双共享指数的低精度BFP数据格式,通过并行处理尾数与指数,大幅提升了FPGA的计算吞吐量。然而,现有方法普遍未能充分利用DSP的全部能力,导致FPGA资源未达到最优利用状态。

针对上述问题,本文提出了一种基于FPGA的混合BFP卷积处理单元——BE-HB。该单元专门针对8比特与16比特的BFP卷积计算进行优化,旨在实现更高性能与更低资源开销。鉴于DSP可通过定点乘法高效处理BFP中的尾数计算,但其寄存器宽度相对于输入数据尺寸较大,直接使用可能导致DSP资源利用不充分,本文开发了一种双模式卷积处理单元,将两组尾数计算耦合至单个DSP中,分别服务于8比特与16比特的BFP计算模式。此外,本文引入了一种数据映射方法,能够简化DSP内部的数据处理流程,提升计算速率并优化DSP利用率。综合评估表明,与代表性基线方法相比,所提设计(BE-8)在相似精度条件下,LUT资源消耗平均降低61.4%,性能提升2.0倍。

本文的主要贡献包括以下两个方面:

  1. 提出了一种新颖的基于FPGA的混合块浮点卷积计算单元,将多组混合的8比特与16比特BFP输入打包至单个DSP中,以实现高性能计算处理。

  2. 提供了一种数据映射方法,可同时支持8比特与16比特BFP输入,并通过数据复用优化计算过程中的计算速率与DSP利用率。

2. 背景与相关工作

2.1 块浮点(BFP)表示法

传统浮点数由符号位、指数和尾数三部分组成。块浮点(BFP)是一种精简的数值表示方法,它为一组共享相同数量级的数(称为一个“块”)分配一个公共的指数,而每个数只保留其私有的尾数部分。这种表示法在保持浮点数高动态范围优势的同时,极大减少了指数存储的开销。在卷积神经网络中,通常将输入特征图或权重的某一维度(如通道维度)划分为多个块,每个块内的所有元素共享一个指数。

2.2 基于FPGA的混合位宽卷积加速器

为在性能与精度之间取得平衡,学术界提出了多种混合位宽方案。例如,HFP8工作在8位浮点格式下,通过混合不同精度的乘加操作来减少精度损失。FAST则允许在运行时动态选择8位或16位的BFP精度,以适应不同层的计算需求。BiE提出了一种双指数共享策略,进一步压缩了数据表示。尽管这些工作均取得了显著成效,但它们在对FPGA核心计算单元DSP的利用上仍存在不足。典型的DSP切片(如Xilinx的DSP48E2)支持27×18位的定点乘法,其运算能力远超单个8位或16位尾数乘法的需求,导致大量计算位宽的浪费。

3. 提出的BE-HB架构

3.1 总体架构概览

BE-HB的整体架构如图1所示,主要由以下几个模块组成:

  • 输入缓冲区(Input Buffer):用于暂存从外部存储器加载的BFP格式的输入特征图和权重。

  • 数据映射与打包单元(Data Mapping & Packing Unit):作为BE-HB的核心预处理模块,负责根据当前的工作模式(8-bit或16-bit),将两组BFP数据的尾数和共享指数重新组织,打包成适合单个DSP运算的格式。

  • DSP计算阵列(DSP Array):由多个经过特殊设计的处理单元(PE)构成,每个PE内嵌一个DSP切片。该阵列执行打包后的定点乘法与累加操作。

  • 指数对齐与后处理单元(Exponent Alignment & Post-processing Unit):负责对DSP输出的部分和结果进行指数对齐、累加和格式化,最终输出标准BFP格式的结果。

3.2 双模式卷积处理单元设计

为充分利用DSP的位宽,本文设计了双模式处理单元,其核心思想是在单个DSP内同时计算两个独立的BFP乘法。具体而言:

  • 8-bit模式:将一个16位或18位的DSP输入端口拆分为两个8位的子端口,分别承载来自两组不同BFP块的尾数数据。DSP执行一次乘法,即可同时得到两个8×8的乘积结果。

  • 16-bit模式:当需要高精度计算时,DSP的两个输入端口分别承载一组完整的16位尾数数据。此时,DSP执行一次标准的16×16乘法。

这种设计使得同一个DSP硬件单元可以在两种模式下无缝切换,极大提高了硬件资源的利用率。

3.3 数据映射方法

数据映射方法是实现上述双模式计算的关键。该方法巧妙利用了BFP数据打包后的特性:共享指数和私有尾数。在8-bit模式下,来自两个不同BFP块的尾数被映射到同一个DSP输入向量的高8位和低8位。同时,这两个块对应的共享指数被单独提取出来,送入后处理单元。由于乘法运算是定点运算,尾数相乘后,只需在后续的累加过程中根据各自的共享指数进行对齐即可。这种方法避免了复杂的指数预处理逻辑,简化了DSP内部的数据流,从而提升了计算速率。


相关新闻

推荐期刊

新闻导航

推荐资讯

热门关键词

友情连接 :

云平学术交流网属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:京ICP备2025103200号-1