基于HLS的矩阵求逆算法设计优化
2021-03-07凌元韩文俊孙健
电子技术与软件工程 2021年22期
凌元 韩文俊 孙健
(南京电子技术研究所 江苏省南京市 210039)
1 引言
近些年来,FPGA由于其计算高能效比、处理延迟低、硬件可重构性,在人工智能、图像处理、雷达信号处理、高性能计算等领域得到广泛应用。FPGA设计人员通常通过HDL(Hardware Description Language)编程语言实现RTL(Register Transfer Level)代码,完成算法设计、实现、验证。算法复杂时,设计难度大、效率低下,且可移植性和升级维护性差[1~3]。
在利用HLS进行复杂算法设计和优化时,针对循环的优化是重点和难点,文献[4~5]研究了多重动态边界循环的优化,提出ElasticFlow的处理架构,动态分配和调度内层循环的处理单元,实现高效处理,解决现有HLS对动态边界循环优化效率低下问题。文献[6]研究了通用的动态循环边界的并行化优化方法,提升了逻辑资源利用率,实现了75倍的性能提升。
本文基于Cholesky分解矩阵求逆算法研究了HLS复杂算法设计与优化技术。首先描述了Cholesky分解矩阵求逆算法的计算流程,针对计算过程中矩阵元素计算顺序、元素间的依赖关系进行了分析,使用VivadoHLS设计、实现并仿真验证了Cholesky分解矩阵求逆结果。针对实现结果延迟时间长、性能差等问题进行了优化,重点针对运算过程中的动态循环边界、多层动态边界循环的优化进行了研究与试验,通过对运算过程的分析与精确计算,将多层循环展开为两层或单层循环,应用HLS的循环流水线优化指令,取得了更好的延迟性能。
2 Cholesky分解矩阵求逆算法
Cholesky分解矩阵求逆算法是针对厄米特矩阵的简化算法,其计算过程[7]可分为三步,如下所示:……p>
登录APP查看全文
