计算机工程与科学 ›› 2021, Vol. 43 ›› Issue (01): 1-8.
黄春1,姜浩1,谷同祥2,齐进2,刘文超1
HUANG Chun1,JIANG Hao1,GU Tong-xiang2,QI Jin2,LIU Wen-chao1
摘要: 在大规模和长时程数值计算中,浮点运算的舍入误差的累积效应可能导致数值结果不可信。求和与点乘是浮点数值计算中最为基础的运算,在大规模科学计算过程中被频繁调用,其数值结果精度至关重要。面向国产飞腾处理器,基于OpenBLAS,采用无误差变换技术设计了高效的汇编内核函数,实现并优化了高精度的求和与点乘算法。数值实验显示,该高精度算法的数值结果精度同原始算法在双倍工作精度下得到的数值结果精度相同,验证了本文算法的有效性;本文算法在单线程情况下运行时间分别是原始算法运行时间的1.57倍和1.76倍,在保证精度提升的同时效率没有明显的降低;在多线程情况下,同原始算法具有近乎相同的运行时间,体现了算法的高效性。理论误差分析进一步表明了本文算法的可靠性。