随着Vivado HLS的安装,提供了一个线性代数库。在这个库中有一个函数QRF_ALT,它应该是QRF基本的高通量版本:使用givens旋转的QR分解。
我的问题是,它是如何实现高吞吐量的?从代码中提供的简短注释中,我猜它使用了对矩阵行的批量并行处理,但它是如何调度的,我不明白。
有没有人有任何Vivado HLS的经验可以帮助我?在这一点上,任何帮助都将不胜感激。
库位于中的(linux(
/opt/Xilinx/Vivado/<installation version>/examples/design/linear_algebra/qrf_alt
文件也可以在这里找到:
https://filebin.ca/5gtV16lXK4ZT/qrf_alt.h
https://filebin.ca/5gtVEqUqccsx/qrf_alt.cpp
https://filebin.ca/5gtVLiMVGsbv/qrf_alt_tb.cpp
您能在这里查看或粘贴第53行qrf_alt.cpp中调用的hls::qrf_top
的内核函数体吗?hls::qrf_top
是真正执行QR因子分解的函数。您提供的文件不包含算法部分。