基于FPGA的大模型算子加速设计
📚 共计 30 章节
01
AI芯片与FPGA概览
AI芯片发展史 · GPU/ASIC/FPGA对比 · FPGA在AI加速中的定位与优势
芯片
概览
02
大模型基础与算子解析
Transformer架构拆解 · Attention机制 · 常见算子(MatMul, Softmax, LayerNorm)
Transformer
算子
03
FPGA开发环境搭建
Vivado/Vitis HLS安装 · 开发板选型 · License配置
环境
Vivado
04
硬件描述语言基础 (Verilog)
模块化设计 · 组合逻辑与时序逻辑 · 状态机编写规范
Verilog
HDL
05
HLS高阶综合入门
C/C++转RTL原理 · HLS pragma详解 · 接口综合
HLS
pragma
06
定点数量化与数值精度
FP32/FP16/BF16/INT8 · 量化误差分析 · FPGA定点数实现(DSP48E2)
量化
精度
07
矩阵乘法加速 (MatMul)
分块矩阵乘法 · 脉动阵列(Systolic Array) · HLS实现与优化
MatMul
脉动阵列
08
Softmax算子加速
指数函数近似(LUT/多项式) · 流水线设计 · 数值稳定性处理
Softmax
近似
09
LayerNorm算子加速
均值/方差计算 · 归一化与缩放 · 片上缓存优化
LayerNorm
归一化
10
GELU激活函数加速
分段线性近似 · 查找表实现 · 与ReLU对比
GELU
激活
11
多头注意力机制 (MHA) 加速
QKV投影 · 分头计算 · 拼接与输出投影
MHA
注意力
12
Flash Attention原理与FPGA实现
分块注意力 · IO感知优化 · SRAM带宽利用
Flash
IO优化
13
稀疏计算与剪枝加速
结构化/非结构化稀疏 · 稀疏矩阵乘法 · FPGA稀疏引擎设计
稀疏
剪枝
14
流水线设计与数据流架构
任务级/数据级流水线 · 乒乓操作 · HLS dataflow pragma
流水线
dataflow
15
片上存储层次与带宽优化
BRAM/URAM配置 · 多bank访问 · 数据复用策略
BRAM
带宽
16
DDR与HBM内存接口
AXI4协议 · DDR控制器配置 · HBM带宽利用 · 地址映射
DDR
HBM
17
PCIe接口与DMA传输
PCIe DMA引擎 · XDMA驱动 · 批量数据传输优化
PCIe
DMA
18
算子融合与Kernel合并
MatMul+Softmax融合 · 减少中间数据搬运 · HLS优化技巧
融合
Kernel
19
编译工具链与部署流程
Vitis编译器 · XCLBIN生成 · Host代码编写 · 运行时调度
编译
部署
20
性能分析与调优
资源利用率 · 吞吐量 · 延迟 · 功耗分析 · Vitis Analyzer
性能
调优
21
单算子加速器设计实战 (MatMul)
从算法到RTL · 仿真验证 · 上板测试
实战
MatMul
22
单算子加速器设计实战 (Softmax)
指数近似实现 · 流水线设计 · 精度对比
实战
Softmax
23
单算子加速器设计实战 (LayerNorm)
均值方差计算 · 归一化 · 资源优化
实战
LayerNorm
24
单算子加速器设计实战 (GELU)
分段线性近似 · 查找表 · 性能评估
实战
GELU
25
多算子流水线设计实战
MatMul+Softmax+LayerNorm流水线 · 数据流控制
流水线
多算子
26
完整Transformer Layer加速
Encoder Layer实现 · 跨算子数据流 · 端到端验证
Transformer
Layer
27
大模型推理系统集成
Host端调度 · 多卡协同 · 模型并行策略
系统
并行
28
FPGA加速卡部署与测试
Alveo卡配置 · 功耗测试 · 稳定性测试 · 性能报告
部署
测试
29
前沿趋势与未来方向
存算一体 · 光计算 · Chiplet · RISC-V+FPGA异构
前沿
异构
30
课程总结与项目答辩
项目展示 · 常见问题解答 · 学习路径推荐 · 资源分享
总结
答辩