基于龙芯3B的循环规约算法向量化研究
2013-08-21黄章进顾乃杰
计算机工程 2013年2期
关键词:指令
吴 淅,黄章进,顾乃杰
(1.中国科学技术大学计算机科学与技术学院,合肥 230027;2.安徽省计算与通讯软件重点实验室,合肥 230027;3.中国科学技术大学与中国科学院沈阳计算技术研究所网络与通信联合实验室,合肥 230027)
1 概述
三对角线性方程组的求解在数学和物理学中有广泛的应用。它被大量地使用在结构力学、热力学和流体力学的分析中[1]。同时,对于数值计算中的许多问题,特别是线性扩散问题,其中的代数方程矩阵通常为三对角,或者最终会演化成三对角矩阵。因此,怎样高效地实现三对角线性方程组的求解,尤其是大规模数据量的情况,是现在的热点问题之一。
本文针对龙芯3B处理器提供的扩展向量指令[2],对求解三对角矩阵的循环规约算法[3]进行了向量化。同时,还将该向量化算法实际运用在求解泊松方程中,提高方程的求解速度。
2 相关工作
龙芯3B处理器在兼容了MIPS64指令集的同时,实现了针对大规模数据的向量扩展指令。其设计的向量运算部件,支持SIMD机制,提供了256位向量寄存器,并实现了包括256位向量访存的向量扩展指令。这样的结构和指令集设计,使得龙芯 3B适用于大规模数据处理,比如视频编/解码运算、FFT运算,以及求解大规模稀疏线性方程组等[4]。龙芯 3号处理器主要面向服务器和高性能应用[5],随着国产龙芯系列不断推出,势必走向产业化。硬件产品必须配套系统软件和应用软件的支持才能最终被用户所用。为用户提供面向龙芯体系结构的高性能数学函数库是必不可少的。……
登录APP查看全文
