Intel的数学函数库MKL中包含了很多科学计算中需要用到的数学函数,如方程求解,矢量运算,矩阵运算等等。但我们经常为了应用MKL中的很少的几个库函数而不得不把庞大MKL的动态库添加到应用软件的发布包里面,而且mkl中的动态库相互之间的调用关系比较复杂,不小心还会漏掉几个而造成麻烦。
实际上,在MKL中提供了自定义MKL库的方法,可以仅把需要用到的几个函数生成一个独特的动态库文件,发布时可以仅把这个库文件包含进去就可以了,它的运行将不需要依赖Intel的库文件,而且文件的体积也会小很多。具体方法是:
1. 在Intel MKL安装目录下的tools/builder子目录,该目录中有个makefile文件,在这个目录下执行make命令就可以生成相应的自定义库文件。
2. 当然make命令需要加一些参数,需要导出的函数可以写在一个文本文件中,每行定义一个函数名,如
dgetrf_
dgetrs_
daxpy_