《Hardware Implementation of POSITs and Their Application in FPGAs》(一)


1. 论文主要内容与研究方向

本文关注新型浮点数表示格式 POSIT(由Gustafson于2017年提出)在硬件实现方面的可行性与效率问题。针对目前IEEE-754标准存在的动态范围有限、精度不均与冗余状态等问题,作者实现了支持加法、减法、乘法的POSIT算术单元,并首次将其集成到FPGA平台中,构建了一个可在Intel FPGA OpenCL SDK中使用的线性代数库原型(PBLAS)。

研究方向属于新数值格式在高性能计算中的FPGA硬件实现与集成,特别是为神经网络等高带宽应用场景提供低功耗、高吞吐的新途径


2. 研究方法与算法结构

作者主要采用以下技术手段:

  • POSIT算术核心设计

    • 解码与编码模块:使用前导零计数(CLZ)模块提取regime位,再依次获得exponent与mantissa;
    • 算术单元设计:加法与乘法模块均包含预处理(特殊值处理)、格式解码、对齐操作、运算逻辑、归一化与编码等过程;
  • 自动生成工具 POSGEN

    • 类似FloPoCo,用户指定pbit与es,自动生成特定位宽与算术模块的可综合VHDL代码OpenCL集成描述文件
  • 线性代数库集成(PBLAS):

    • 实现了三种基础操作:pvvtmul(向量内积)、paxpy(缩放加法)、pgemv(矩阵乘向量),可直接用于OpenCL数据通路中。

📌 截图展示解码模块与乘法模块架构如下:

图 1(POSIT编码与解码组件结构)
图 1


3. 研究结果分析与对比

实验平台:Stratix V DE5-Net FPGA,使用Intel Quartus与OpenCL SDK进行综合。

性能比较对象

  • Intel原生IEEE-754浮点核(ALTERA_FP_FUNCTIONS)
  • FloPoCo生成的IEEE-754算术单元

实验结果摘要

模块类型 时钟频率 (MHz) 面积 (ALMs) DSP数 备注
POSIT 32-bit 500~604 FLOPOCO约2倍 较少 解码复杂度高
FloPoCo IEEE-754 550~650 面积最优 2个DSP 面向单精度
Intel IP核 775+ 面积最小 商业优化完善

线性代数性能

操作 吞吐率 (GOPS/s) 加速比 (FPGA vs. CPU模拟)
paxpy 3.37 数十倍
pvvtmul 4.19 数十倍
pgemv 0.81 较低,受限于存储带宽

👉 总结:虽然POSIT模块面积略大,但在DSP资源受限时具有优势,适合部署在对面积和能效敏感的FPGA场景中。


4. 论文出处与会议等级

  • 会议名称:IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) 2018
  • 会议等级
    • CCF推荐等级:B类国际会议
    • 收录情况:IEEE Xplore,DOI: 10.1109/IPDPSW.2018.00029

5. 开源代码情况

论文未直接给出开源链接,但提到了如下相关项目:

📌 可以关注上述GitHub仓库作为软件对比参考。


6. 相关原文出处标注

  • POSIT与IEEE-754格式对比介绍:第138页 “A. POSITs vs IEEE-754”【图1】
  • 解码算法描述:第140页 "A. Decoding POSIT Numbers"
  • 多种模块电路图展示:第141页 “Fig. 2”
  • 综合实验与对比图:第142页 "Fig. 4"
  • OpenCL性能结果与图表:第143页 "Fig. 5", "Fig. 6"

posted @ 2025-04-29 02:12  江左子固  阅读(58)  评论(0)    收藏  举报