摘要:BLAS 是科学计算中最基础的数学库之一,各CPU 厂商都推出了针对各自CPU 的优化BLAS 库.龙芯CPU 是中国科学院计算技术研究所自主研制的通用CPU,目前已推出了龙芯3 号系列.介绍了基于GotoBLAS2-1.13 BSD 版的开源项目OpenBLAS,针对龙芯3A CPU 的优化工作.在BLAS 3 级函数的单线程优化上,运用了分块,手工核心汇编,使用龙芯3A 扩展指令、汇编指令重排等技术.BLAS 3 级函数平均性能高于GotoBLAS 和ATLAS75%和17%.其中,双精度函数高于GotoBLAS 和ATLAS 103%和36%.在BLAS 3 级函数并行化方面,采用数据缓冲区交错布局等技术,减少多线程对共享L2 Cache 的争抢.OpenBLAS BLAS 3 级函数的4 线程并行加速比达到3.47.4线程BLAS 3 级函数平均性能高于GotoBLAS 和ATLAS 69%和34%,其中,双精度函数高于GotoBLAS 和ATLAS89%和55%.