高性能计算(3)——BLAS调研和测试

BLAS (Basic Linear Algebra Subprograms)是 Netlib定义的一组向量和矩阵运算的API规范,如向量乘、矩阵乘等,同时Netlib也提供了自己用fortran实现的参考实现库,非并行版本,只做了基本的数据并行优化比如SIMD等,BLAS主要提供了三层操作,主要接口如下:

  • Level 1: 标量、向量和向量间的操作
  • Level 2: 矩阵和向量间的操作
  • Level 3: 矩阵和矩阵间的操作

这里的x表示BLAS提供了不同精度的运算

  • S表示单精度运算
  • D表示双精度运算
  • C表示单精度复数运算
  • Z表示双精度复数运算

设计矩阵运算时,第二个字母和第三个字母表示不同矩阵类型的运算

  • GE表示General matrix
  • GB表示Banded matrix
  • SY表示symmetric matrix
  • SB表示symmetric banded matrix
  • SP表示symmetric packed matrix
  • TR表示triangular matrix
  • TB表示triangular banded matrix
  • TP表示triangular packed matrix

更多细节可以参考BLAS官网http://www.netlib.org/blas/

官网也提到了一些BLAS family and its cousins,还有各家供应商、开源组织也针对自己的硬件和需求提供了BLAS优化版本,针对硬件比如CPU架构进行优化、适配分布式并行、异构并行等版本,我的一些调研结果如下

按照一些网站提供的测试结果,在共享内存场景下,各家blas的性能主要是

intelMKL>OpenBLAS>ATLAS>BLAS =NaiveintelMKL>OpenBLAS>ATLAS>BLAS =Naive

为了验证这个结论,我在服务器上进行了矩阵乘向量的测试

转子: 高性能计算(3)——BLAS调研和测试-云社区-华为云 (huaweicloud.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值