BLAS(Basic Linear Algebra Subprograms)是一个以向量和矩阵为操作对象的基础函数库.该库中函数分为3个级别,各个级别分别提供了向量-向量(1级)、向量-矩阵(2级)、矩阵-矩阵(3级)之间的基本运算.本文研究如何在申威众核处理器上BLAS-1...BLAS(Basic Linear Algebra Subprograms)是一个以向量和矩阵为操作对象的基础函数库.该库中函数分为3个级别,各个级别分别提供了向量-向量(1级)、向量-矩阵(2级)、矩阵-矩阵(3级)之间的基本运算.本文研究如何在申威众核处理器上BLAS-1、2级函数的并行实现,并充分利用平台特性对它们进行深度的性能调优,归纳总结程序在申威平台上的并行实现与优化技巧.申威26010 CPU采用了异构众核架构,众多计算核心提供的大规模并行处理能力,使单块芯片具有3 TFLOPS的双精度浮点计算性能.实验结果显示BLAS-1、2级函数相对于Goto BLAS参考实现版的平均加速比分别高达11.x和6.x,对于每一优化手段,均有明显的性能加速.展开更多
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,对于每种优化方式均得到了一定的性能提升.