MKL(Math kenel library)是Intel开发的一套高度优化、线程安全的数学例程、函数,面向高性能的工程、科学与财务应用。提供了线性代数 (BLAS、LAPACK 和Sparse Solver)、快速傅立叶转换(FFT)、矢量数学 (Vector Math) 与随机号码生成器支持。
https://software.intel.com/en-us/mkl
疫情期间,在家使用mac电脑,我就简单介绍下在mac下安装MKL的方法:
1、下载:登陆官网 https://software.intel.com/en-us/mkl,点击choose and Download,然后选择mac os(这个软件库是跨平台的,支持:mac、windows、and linux)。
然后点击register and download,注册以后是可以免费下载的。邮箱收到邮件后,进入下载链接就可以选择对应的软件包了。
2。 安装:下载后按照步骤安装即可
3。设置环境变量:在.bashrc或.bashprofile里添加设置,配置环境变量使用intel64构架:
source /opt/intel/mkl/bin/mklvars.sh intel64
4。 测试:使用 blas_mkl.cpp 进行测试
#include <iostream>
#include “mkl.h”
using namespace std;
int main() {
double A[9]={
1.0, 2.0, 3.0,
4.0, 5.0, 6.0,
7.0, 8.0, 9.0
};
cout << A[0] << ” ” << A[1] << ” ” << A[2] << endl;
cout << A[3] << ” ” << A[4] << ” ” << A[5] << endl;
cout << A[6] << ” ” << A[7] << ” ” << A[8] << endl;
cblas_dscal(9, 2.0, A, 1);
cout << “—- cblas_dscal —-” << endl;
cout << A[0] << ” ” << A[1] << ” ” << A[2] << endl;
cout << A[3] << ” ” << A[4] << ” ” << A[5] << endl;
cout << A[6] << ” ” << A[7] << ” ” << A[8] << endl;
return 0;
}
使用以下命令编译运行:
g++ -DMKL_ILP64 -m64 -I${MKLROOT}/include ${MKLROOT}/lib/libmkl_intel_ilp64.a ${MKLROOT}/lib/libmkl_intel_thread.a ${MKLROOT}/lib/libmkl_core.a -liomp5 -lpthread -lm -ldl -o blas_mkl blas_mkl.cpp
./blas_mkl
出现以下结果,说明MKL库安装成功了。