基于多精度SIMD的线性方程组迭代细化求解
2021-05-28张茂全
现代计算机 2021年10期
关键词:指令
张茂全
(上海交通大学电子信息与电气工程学院,上海200240)
0 引言
随着神经网络技术的发展,多精度和低精度加速技术已经成为了十分重要的加速方法[1]。在求解线性方程组的过程中也可以使用多精度计算技术进行加速[2-3]。在求解线性方程组的过程中,主要使用计算机的浮点计算能力,例如单精度浮点(FP32)运算和双精度浮点(FP64)运算。在某些研究领域中,如图像处理、地震资料处理等领域,单精度计算足以满足用户对精度的需要。但对于其他复杂的科学计算,例如通过数值模拟预测天气,双精度浮点运算由于其高精度的优点已经成为了必不可少的组成部分。
在现代处理器架构中,支持多种精度的计算能力,并且较低精度的计算吞吐率通常要比高精度的吞吐率高。例如,单精度浮点乘法的能力通常是双精度浮点乘法的两倍,事实也确实如此,在英特尔最新的通用处理器中单精度浮点运算能力是双精度浮点运算能力的两倍。单精度相比于双精度不仅在计算速度上有优势,由于其位宽更小,其在数据存储、传输以及缓存命中率等方面都有优势。
本文设计了基于多精度SIMD(Single Instruction Multiple Data)[4]的线性方程组迭代细化求解方法,可以在获得相同精度的方程解的同时,减少处理器运算的时间。
1 线性方程组求解方法
1.1 直接求解法
在求解规模较小的线性方程组时,一般选取高斯消元法和后向回代法进行直接求解。高斯消元法其实就是一个初等行变换的过程,以一个具有3个未知数的线性方程组为例:……p>
登录APP查看全文
