BLAS, LAPACK, OpenBLAS, MKL, CBLAS等概念
API规范: BLAS
和LAPACK
BLAS
和LAPACK
是两种接口规范, 用于矩阵基本运算. BLAS
的功能分三个Level, LAPACK
的功能更丰富, 主要用于扩展BLAS
中第三个Level的函数.
规范实现
基于BLAS
规范的矩阵库包括开源的ATLAS, OpenBLAS等, 商业的Intel MKL, Nvidia cuBLAS等.
Netlib用Fotran语言实现了BLAS和LAPACK规范, 其代码库的名字也叫BLAS
和LAPACK
, 要注意区分.
封装
CBLAS
和CLAPCK
是Netlib对Fortran版本BLAS
和LAPACK
的C/C++封装, Armadillo
是BLAS
的封装, ATLAS
是BLAS
和一部分LAPACK
功能的封装.