🎉 本节任务:
- 编写程序实现FPGA并行加速浮点加法/乘法,测量峰值性能 (单位 FLOPS)
- 对比ARM处理器上程序的执行时间,理解FPGA进行计算加速的原理和技巧
- 理解Roofline模型概念,学会判断影响处理器最高处理性能的原因
- 作业:修改FPGA并行加速程序,对比Roofline模型变化情况。
🎉实验要求:
- 完成vecAdd代码(加法模型和乘法模式)的仿真和硬件部署测试;
- 测量处理器最高性能,画出性能随VEC_SIZE变化的图表;
- 修改device端程序,将A2_in改为固定常数(不从DDR读取,以便降低带宽),重新测试处理器最高性能;
- 撰写并提交实验报告二。
✅✅✅本门课程个人最终得分98,因此提供个人的实验报告作为参考。报告附录里面含有代码
下面是实验报告的部分展示:
实验分析
本实验中,我们将编写并测试一个向量加法程序,该程序可以在两种模式下运行:加法模式和乘法模式;并测量并分析处理器的性能,特别是性能如何随着输入向量的大小(VEC_SIZE)的变化而变化;同时将修改device端的程序,使其不再从DDR读取A2_in,而是使用一个固定的常数。这样可以降低带宽的需求,可能会提高程序的性能。然后,我们将重新测试处理器的最高性能,观察改变是否有所帮助。
实验原理
3.1 名词解释分析
计算性能:也称峰值性能、算力,指硬件处理器每秒所能完成的浮点运算次数(floating-point operations per second,FLOPS)
单位换算:1TFLOPS=103GFLOPS=106MFLOPS
理论值:FLOPS=#FPU×F_OPS×Freq.
即FLOPS等于浮点运算单元(FPU)的数量乘以每秒操作数(OPS)乘以频率(Freq)。
如何测量:FLOPS=#Floating-pointoperationsTime
3.2 FPGA进行计算加速的原理和技巧
FPGA(Field-Programmable Gate Array,现场可编程门阵列):是一种可以在硬件级别进行编程的集成电路,它可以用于实现定制的数字逻辑,如微处理器和数字信号处理器。以下是FPGA进行计算加速的原理和技巧:
FPGA加速的原理:
完整的实验报告和代码,需要的点击下载🎉:智能计算系统实验2-并行优化-实验报告