BLAS(Basic Linear Algebra Subprograms)是一个基本线性代数操作的数学函数标准,该库函数分为三个级别,每个级别提供了向量与向量(1级)、向量与矩阵(2级)、向量与向量(三级)之间的基本运算.本文研究了在申威1621处理器上BLAS一级函数...BLAS(Basic Linear Algebra Subprograms)是一个基本线性代数操作的数学函数标准,该库函数分为三个级别,每个级别提供了向量与向量(1级)、向量与矩阵(2级)、向量与向量(三级)之间的基本运算.本文研究了在申威1621处理器上BLAS一级函数的优化方案,以函数AXPY为例,充分利用平台的架构特点对其进行性能调优,设计了自动的线程分配方案.实验结果显示优化过后的BLAS一级函数AXPY相对于GotoBLAS参考实现版本的单核和多核加速比分别高达4.36和9.50,对于每种优化方式均得到了一定的性能提升.展开更多
文摘BLAS(Basic Linear Algebra Subprograms)是一个基本线性代数操作的数学函数标准,该库函数分为三个级别,每个级别提供了向量与向量(1级)、向量与矩阵(2级)、向量与向量(三级)之间的基本运算.本文研究了在申威1621处理器上BLAS一级函数的优化方案,以函数AXPY为例,充分利用平台的架构特点对其进行性能调优,设计了自动的线程分配方案.实验结果显示优化过后的BLAS一级函数AXPY相对于GotoBLAS参考实现版本的单核和多核加速比分别高达4.36和9.50,对于每种优化方式均得到了一定的性能提升.