LAPACK及BLAS库在MAC/Linux下编译
LAPACK及BLAS库是开源的,主要用于求解科学与工程计算机中最常见的数值线性代数问题。
官网说明及下载链接为:
http://performance.netlib.org/lapack/
编译步骤:
下载解压后:
1. make.inc.example重命名为make.inc
2. 修改Makefile文件中
.PHONY: lib
lib: lapacklib tmglib 增加blas库编译,即修改成 lib: blaslib lapacklib tmglib
3.在解压后的根目录下打开终端,执行make
4.生成liblapack.a,librefblas.a,libtmglib.a
使用步骤:
1.参考库的接口说明写一个测试代码,比如测试dgesvd_接口,求解矩阵的SVD分解,用例可参考链接
https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_lapack_examples/dgesvd_ex.c.htm
2.gcc环境需要提前安装好
3.编译测试代码到可执行文件
gcc testdgesvd.c -I /Users/***/Downloads/testlapcak/ -L /Users/***/Downloads/testlapcak/ -llapack -lblas -o main -lm -L /usr/local/Cellar/gcc/9.2.0_3/lib/gcc/9/ -lgfortran -v
4.执行可执行文件 ./main
遇到的问题:
gfortran找不到的问题:参考链接:https://kingaa.github.io/mac-fortran.html
gcc环境不完备导致的,需要两个步骤:(MAC OS)
curl -O https://kingaa.github.io/scripts/mac-fortran.sh
sh mac-fortran.sh
/