FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构

FPGA技术江湖 2026-07-22 08:54

前言

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图1

随着人工智能、机器人、计算机视觉和高性能计算的发展,传统 CPU/GPU 架构正在面临新的挑战:

  • 数据搬运成本越来越高;
  • 内存访问成为性能瓶颈;
  • 专用加速器开发周期长;
  • 面对不同算法需求时缺乏灵活性。

FPGA 凭借可重构、高并行和低延迟优势,成为加速计算的重要方向。

来自瑞士洛桑联邦理工学院(EPFL)VCA 实验室的 FSA(Flexible Spatial Accelerator)项目,正是针对这一问题提出的一种新型 FPGA 加速架构。

它希望探索:

如何让 FPGA 加速器拥有更高的灵活性,同时保持接近专用硬件的性能。

什么是 FSA?

FSA 全称:

Flexible Spatial Accelerator

即:

灵活空间加速器。

FSA:在单个收缩期阵列中融合 FlashAttention

FSA 在单个脉动数组内执行所有FlashAttention 操作——无需向量单元!

享受使用矩阵乘法 FLOP 计算非矩阵乘法运算的乐趣。

  • 为了最大限度地减少执行延迟,注意力操作在脉动数组中逐元素重叠。
  • 与torch.nn.functional.scaled_dot_product_attentionon相比,FSA 达到了 1e-3 的精度fp16。

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图2

FSA架构

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图3

RTL 实现位于src文件夹下。顶层模块是AXI4FSA.scala。FSA指令的硬件行为在ExecutionPlan.scala中描述,控制逻辑会据此自动生成。

集成选项

提供两种将FSA集成到Chipyard中的方案:

  • TileLink 集成:将 FSA AXI4 内存通道连接到 Chipyard 的 TileLink MBus。如果 FSA 与其他 Chipyard 组件共享底层内存,则应使用此功能。相应的配置名称 FSAMxNConfig位于FSAConfig.scala.

  • 直接 AXI4 集成:将 FSA AXI4 内存通道直接连接到后端内存(例如 DRAMSim、HBM),无需将 AXI4 转换为 TileLink。如果 FSA 不需要共享 MBus,建议使用此方法。相应的配置名称 AXI4FSAMxNConfig位于FSAConfig.scala.

FPGA 支持

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图4

本项目支持AMD U55C FPGA 开发板。

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图5

1. FPGA 位生成

请确保已安装Vivado,然后运行以下命令:

cd chipyard-fsa/fpga
make SUB_PROJECT=u55c CONFIG=EmptyU55CConfig TOP=EmptyChipTop bitstream

生成的比特流文件位于[ chipyard-fsa/fpga/generated-src/chipyard.fpga.u55c.U55CFPGATestHarness.EmptyU55CConfig/U55CFPGATestHarness.bit]。可以使用 Vivado 将此文件烧录到 FPGA 开发板上。强烈建议使用除安装 FPGA 卡的机器(主机)之外的其他机器进行烧录。

2. FPGA主机配置

请确保主机已安装并加载 Xilinx 的XDMA 驱动程序(https://github.com/Xilinx/dma_ip_drivers)。每次烧录比特流时,都应使用以下命令重新扫描 PCIe 总线:

echo 1 > /sys/class/pci_bus/0000:01/device/remove
echo 1 > /sys/bus/pci/rescan

现在应该可以看到xdma0_c2h_0、xdma0_h2c_0和xdma0_user设备/dev。

3. 运行FPGA测试

仍在主机上,运行以下命令启动测试:

cd chipyard-fsa/generators/fsa/python
uv run main.py --seq_q 16 --seq_kv 16 --config EmptyU55CConfig --engine FPGA

示例输出:

Loading config from: ../../../fpga/generated-src/chipyard.fpga.u55c.U55CFPGATestHarness.EmptyU55CConfig/chipyard.fpga.u55c.U55CFPGATestHarness.EmptyU55CConfig.FSAConfig.json
Device finished execution
Performance counters:
Execution time: 9414 cycles
Max bubble cycles: 6535 cycles
Max active cycles: 179 cycles
DMA active cycles: 233 cycles
Raw instructions: 32
Max instructions: 5
DMA instructions: 4
Fence instructions: 1
Enqueue instructions: 32
Dequeue instructions: 32
Reading back output tensor from addr 0x80000600, size 1024
Comparing with Torch...
Error of FSA vs torch: {'MAE': np.float32(9.4124e-05), 'MSE': np.float32(1.3156206e-08), 'MaxErr': np.float32(0.00031119585), 'RelErr': np.float32(0.00018823991)}

要进行另一次测试运行,请从步骤 2 重新开始以重置 FPGA 系统。

参考链接

开源项目地址

https://github.com/VCA-EPFL/FSA?utm_source=chatgpt.com

项目配套论文

http://arxiv.org/abs/2507.11331

总结

EPFL VCA 实验室推出的 FSA(Flexible Spatial Accelerator) 项目,通过空间计算架构重新思考 FPGA 加速器设计,希望在性能和灵活性之间找到新的平衡。

FSA 并不是单纯提供几个 RTL 模块,而是完整实现了一套 Flexible Systolic Array(柔性脉动阵列) 架构。

它不仅展示了一种新的 FPGA 加速方法,也代表了未来可重构计算的发展趋势:

  • FPGA 不只是用来实现电路,而正在成为一种能够动态适应算法变化的计算平台。

除了 RTL 代码之外,开源仓库还提供了较完整的开发环境,包括:

  • Chisel 硬件描述
  • Verilator 仿真
  • FPGA 实现工程
  • 软件运行环境
  • Benchmark 示例
  • AI 工作负载测试
FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图6

对于希望学习现代 AI 加速器设计的开发者来说,不仅可以阅读架构论文,还可以直接查看硬件实现细节,理解从架构设计、RTL 实现到 FPGA 验证的完整流程。

END


往期精选 

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图7 
FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图8 


FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图9
FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图10

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图11

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图12

备注姓名+公司/学校+岗位/专业进群

FPGA上的自由空间加速器:EPFL开源FSA项目探索下一代可重构计算架构图13

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
FPGA 开源
more
新左移:以FPGA原型验证为“决策透镜”,加速RISC-V IP精准选型
基于 FPGA Vivado 的数字钟设计(附源工程)
IC设计/FPGA开发中谁最容易被AI取代?
诚征男友!98年FPGA小姐姐,211本硕,爱打三角洲,168/95,想两年内结婚
FPGA-5G通信算法的基本套路
一颗RISC-V芯片,计划颠覆CPU、GPU、DSP和FPGA
高能开源|“fpgadeveloper”—— FPGA 工程师的代码仓库,学习者的宝藏资源库
基于FPGA的分布式视频处理平台
基于 FPGA LMS 算法的自适应滤波器设计
资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2026.02.28更新)
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号