今天被逼的在短短一个多小时完成lapack和blas的编译、测试,跑一个例程。把之前糊里糊涂的过程重走了一遍。深知如果不记下来,下次肯定忘了,又要重新来。
下面是流水账。
1. 下载
随便搜索lapack.tgz,解压缩
这个包里面已经包含了blas、cblas、lapacke(c接口的lapack)
2. 编译lapack
把make.inc.example复制,改名为make.inc。
里面需要fortram和gcc。如果电脑里没有,现在就去装。
打开makefile,这样改(为了使用blas):
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
在终端里输入make
如果这时报错“Makefile:438: recipe for target 'znep.out' failed”,是因为stack大小不够,在终端里输入:
ulimit -s 100000
然后再make就可以了。
make之后出现了三个“.a”文件,分别是liblapack.a, labrefblas.a, libtmglib.a
3. 进入lapacke文件夹,make,在顶层目录得到liblapacke.a
4. 进入cblas文件夹,make,在顶层目录得到libcblas.a
5. 此时可以编程调用了。先做一个测试,进入./LAPACKE/example/中,make
如果自己写程序,可以参考./LAPACKE/example/中的makefile。直接把.c文件放在该目录里面是最省事的方法。
以上。