飞腾处理器上向量三角函数的设计实现与优化
Implementation and Optimization of Vector Trigonometric Functions on Phytium Processors作者机构:国防科技大学计算机学院长沙410073
出 版 物:《计算机研究与发展》 (Journal of Computer Research and Development)
年 卷 期:2020年第57卷第12期
页 面:2610-2620页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:“核高基”国家科技重大专项基金项目(2018ZX01029-103) 国家自然科学基金项目(61902407) 湖南省自然科学基金资助项目(2018JJ3616)
主 题:向量三角函数 分段计算 SIMD向量化 性能优化 飞腾处理器
摘 要:得益于单指令多数据(single instruction multiple data,SIMD)向量化技术,处理器浮点计算能力获得了成倍的提升,然而当前SIMD向量部件和指令集仅支持加、减、乘、除、逻辑运算等基本操作,对浮点超越函数没有提供直接的支持.作为浮点计算中最耗时的一类函数,如何提高其性能成为底层数学库优化工作的一个重点.面向超越函数中的三角函数,提出一种利用SIMD向量部件设计、实现与优化向量三角函数的方法.该方法结合标量数学库分段计算与向量数学库向量化实现的优势,增加和优化了向量三角函数中的分支处理,既减少了函数实现中的冗余计算,又提高了分支情况下向量部件的利用率.在飞腾处理器上的实验表明:所提优化方法既保证了向量三角函数的精度,同时有效提高了函数性能,与原始向量三角函数相比平均性能加速比为2.04倍.