BISMO:可扩展的位串矩阵乘法叠加件
1. 项目基础介绍及主要编程语言
BISMO 是一个开源项目,旨在为可重构计算提供一个可编程的 FPGA(现场可编程门阵列)加速器,专注于少数位整数矩阵乘法。该项目的核心是用 Scala 编写的,同时使用了 C++、Tcl、VHDL、Shell 和 Makefile 等编程语言。它适用于量化神经网络推理和近似计算方法,通过高度优化的硬件设计,实现了高性能与低功耗的平衡。
2. 项目的核心功能
BISMO 的核心功能包括:
- 高性能与能效比:在 Avnet Ultra96 开发板上,BISMO 能够提供高达 15.4 TOPS 的二进制矩阵乘法性能,同时功耗低于 8W。
- 可配置大小:硬件可以根据需求扩展以获得更高性能,或缩小以节省 FPGA 资源和功耗。
- 运行时精度可扩展:输入矩阵的位数可以在运行时指定,更高的位精度将需要更多时间。
- 软件可编程:BISMO 提供了一个运行时库以方便使用,并且还可以通过简单的指令集进行编程,以满足更高级用户的需求。
3. 项目最近更新的功能
项目最近更新的功能包括:
- 运行时库:增强了库的功能,提供了更多的灵活性和易用性。
- 指令生成器:支持矩阵的大规模划分,以优化处理大型矩阵的性能。
- 硬件改进:减小了资源成本,同时保持了性能。
- 并行到串行转换的硬件加速支持:提高了数据处理的效率。
- 对 PYNQ 的支持:增加了对 Avnet Ultra96 开发板的 PYNQ 支持。
- 缓存一致性实验性支持:在 PYNQU96CC 上提供了缓存一致性的实验性支持。
这些更新使得 BISMO 在性能和易用性方面都有了显著的提升,为开发人员提供了一个强大的工具,用于可重构计算中的矩阵乘法任务。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考