仅对英特尔可见 — GUID: haz1522247698607
Ixiasoft
1. Intel® HLS Compiler Pro版参考手册
2. 编译器
3. C语言和库支持
4. 组件接口
5. 组件存储器(存储器属性)
6. 组件中的循环
7. 组件并发
8. 任意精度数学支持
9. 组件目标频率(Target Frequency)
10. 任务系统
11. 库
12. 高级硬件综合控制
13. Intel® High Level Synthesis Compiler Pro版参考总结
A. 高级数学源代码库
B. 支持的数学函数
C. Cyclone® V限制
D. Intel® HLS Compiler Pro版参考手册存档
E. Intel® HLS Compiler Pro版参考手册修订历史
13.1. Intel® HLS Compiler Pro版i++命令行参数
13.2. Intel® HLS Compiler Pro版头文件
13.3. Intel® HLS Compiler Pro版编译器定义的预处理器宏
13.4. Intel® HLS Compiler Pro版关键字
13.5. Intel® HLS Compiler Pro版模拟API(仅测试台)
13.6. Intel® HLS Compiler Pro版组件存储器属性
13.7. Intel® HLS Compiler Pro版循环预处理指令
13.8. Intel® HLS Compiler Pro版范围预处理指令
13.9. Intel® HLS Compiler Pro版组件属性
13.10. Intel® HLS Compiler Pro版组件默认值接口
13.11. Intel® HLS Compiler Pro版组件调用接口控制属性
13.12. Intel® HLS Compiler Pro版组件宏
13.13. Intel® HLS Compiler Pro版技术性任务系统API
13.14. Intel® HLS Compiler Pro版管道API
13.15. Intel® HLS Compiler Pro版流输入接口
13.16. Intel® HLS Compiler Pro版流输出接口
13.17. Intel® HLS Compiler Pro版存储器映射接口
13.18. Intel® HLS Compiler Pro版加载-存储单元控制
13.19. Intel® HLS Compiler Pro版任意精度数据类型
仅对英特尔可见 — GUID: haz1522247698607
Ixiasoft
A.2. 矩阵乘法库
Intel® HLS Compiler Pro Edition附带的矩阵乘法源代码库提供了一个FPGA优化的模板化源代码库,用于执行存储在二维数组中的两个矩阵的矩阵乘法。
使用矩阵乘法库时 ,可以通过控制点积向量大小和一次读取的矩阵元素数量来影响DSP块和RAM块的数量。增加点积向量大小可以实现更好的延迟,但代价是使用更多DSP块和其他FPGA资源。
头文件
要在组件中加入矩阵乘法库,请在组件中添加以下行:
#include "HLS/matrix_mult.h"
头文件是自动文档化文件。您可以查看头文件以了解如何在组件中使用矩阵乘法库。
模板参数
矩阵乘法库将两个二维矩阵,A和B相乘。所得乘积在第三个矩阵C中返回。矩阵乘法库具有以下模板参数:
- T
- 矩阵单元的数据类型(例如,int, float, long, double)。
- t_rowsA
- 矩阵A的行数。
- t_colsA
- 矩阵A的列数。该值也是矩阵B的行数。
- t_colsB
- 矩阵B的列数。
- DOT_VEC_SIZE
-
单次计算中使用的DSP块数。此值必须是t_colsA的系数。
您可以通过增加此值来实现更好的组件延迟。但是,您需要使用更多的FPGA区域来实现此目的。保持此值较低会降低FPGA资源使用率,但会增加延迟。
- BLOCK_SIZE
- 从矩阵A中一次读取的单元数量。BLOCK_SIZE的默认值是DOT_VEC_SIZE的值。如果矩阵A所需的带宽低于DOT_VEC_SIZE的值,则可以减小个数,但它必须仍然是DOT_VEC_SIZE的系数。
- RUNNING_SUM_MULT_L
- 可以调整此参数以尝试改善使用此库的组件的fMAX。查看头文件以了解此参数及其效果的详细描述。