期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
面向ARMv8 64位多核处理器的QGEMM设计与实现 被引量:3
1
作者 姜浩 杜琦 +4 位作者 郭敏 全哲 左克 王锋 杨灿群 《计算机学报》 EI CSCD 北大核心 2017年第9期2018-2029,共12页
该文在ARMv8 64位多核处理器上基于OpenBLAS首次设计、实现并优化了四精度矩阵乘法(Quadruple precision General Matrix-Matrix Multiplication,QGEMM).由于浮点计算中不可避免地引入舍入误差,双精度矩阵乘法(DGEMM)在某些情况下不能... 该文在ARMv8 64位多核处理器上基于OpenBLAS首次设计、实现并优化了四精度矩阵乘法(Quadruple precision General Matrix-Matrix Multiplication,QGEMM).由于浮点计算中不可避免地引入舍入误差,双精度矩阵乘法(DGEMM)在某些情况下不能给出令人满意的数值结果,因此需要高精度或多精度算法来实现更精确的计算.Double-double算术是一种较为有效和广泛使用的手段.文中采用double-double数据格式构建结构体存储四精度浮点数据;基于OpenBLAS中的稠密矩阵计算的分块算法,增加四精度数据格式的相关的头文件和源文件,并用汇编代码撰写文中所提出的QGEMM的核心内核;利用无误差变换技术,调整并优化内核中的算法流程,避免规格化操作步骤造成的数据强制依赖关系;通过分析算法的数据依赖关系,设计寄存器的分配和轮转策略,优化指令调度顺序,开发指令级并行性,提高QGEMM的实际性能.根据具体算法使用混合乘加指令(FMA)的程度不同,文中采用了算法理论峰值性能这一概念,其有别于机器理论峰值的概念,能更好地评估文中所提出的QGEMM的实际效率.数值实验表明:文中通过汇编代码实现并优化的QGEMM性能最高达到19.7Gflops,效率为在ARMv864位多核处理器平台上QGEMM算法理论峰值性能的82.1%,在满足数值结果精度要求的同时,其计算速度约是由C语言撰写的未优化的QGEMM和MBLAS中QGEMM的5.8倍,是编译器GCC实现的long double数据格式的QGEMM的24倍.同时数值实验还显示文中提出的QGEMM针对不同规模的矩阵具有较好的线程可扩展性. 展开更多
关键词 ARMv8 64位多核处理器 qgemm 四精度 double—double数据格式 LONG double数据格式 OpenBLAS
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部