面向FT-M7002的一种Cholesky分解向量处理算法
2022-07-01李慧祥张会福
李慧祥,张会福
(1.湖南科技大学 计算机科学与工程学院,湖南 湘潭,411201;2.湖南科技大学 服务计算与软件服务新技术湖南省重点实验室,湖南 湘潭,411201)
Cholesky分解是正定对称矩阵常用的矩阵三角分解方法,相比于通用的LU分解,其计算量约减少一半。因此,Cholesky分解广泛应用于正定对称线性方程组求解[1]、加速矩阵求逆[2]和Kalman滤波并行[3]等问题中。为了提高Cholesky分解算法的执行效率,研究人员对其进行了广泛的研究。吴荣腾[4]在多处理器平台上研究了Cholesky分解动态调度算法,解决各处理器之间的负载均衡问题。文献[5-7]在GPU(graphic processing unit)平台上采用小尺寸分块并行的方法加速Cholesky分解,减少CPU与GPU之间的数据通信时间。文献[8-10]基于FPGA(field programmable gate array)平台分析了Cholesky分解的数据依赖关系,设计了Cholesky分解的细粒度流水并行结构。由于处理器的硬件架构千差万别,Cholesky分解已有的优化方法并不能充分利用SIMD(single instruction multiple data)DSP的硬件资源,需要研究进一步的优化方法。
在SIMD体系结构的DSP中,由于多个并行单元共享一套取指、译码、派发逻辑,控制结构简单,可以有效降低硬件代价,能够在较低的功耗下获得较高的性能。近年来,国内的高性能DSP也取得了较大的成就,例如飞腾、龙芯、魂芯、申威等多个系列处理器。飞腾FT-M7002是国防科技大学微电子所自主研发的高性能SIMD DSP,其片上集成1个RISC CPU核和2个FT-MT2 DSP核,在1 GHz运行时,双精度浮点的峰值性能高达100 GFlops,单精度浮点的峰值性能高达200 GFlops[11]。硬件不断进步带来性能提升的同时,也对上层软件库提出了更高的要求。因此,根据硬件特点优化相应的算法软件,充分发挥出国产高性能DSP的硬件架构优势具有重要意义。……