首页 > 解决方案 > Xilinx Vivado_HLS 提供的线性代数库中的 QRF_ALT 函数中使用的算法是什么?

问题描述

随 Vivado HLS 安装一起提供了一个线性代数库。在这个库中有这个函数 QRF_ALT,它应该是 Qrf-basic 的高吞吐量版本:使用给定旋转的 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

标签: matrixparallel-processingxilinxvivado-hlsqr-decomposition

解决方案


您能否在此处查看或粘贴hls::qrf_top第 53 行 qrf_alt.cpp 中调用的内核函数体是什么?那hls::qrf_top是真正执行 QR 分解的函数。您提供的文件不包含算法部分。


推荐阅读