||
1. 从 netlab 下载最新版本的源代码
http://www.netlib.org/lapack/lapack-3.2.1.tgz
2. 将源代码解压缩
tar -zxf lapack-3.2.1.tgz
3. 编辑 make.inc 文件,进行一些系统相关的编译参数设置
PLAT : 设置生成的库函数的后缀,比如 SUN, LINUX之类的,当然也可以不设置;
FORTRAN : 设置编译器,比如 g77, gfortran, ifort, g95 等等;(我设置为FORTRAN = ifort -g)
OPT:设置编译选项,根据具体的编译器和优化要求进行设置;
LOADER : 设置成和FORTRAN 一样就可以了;
4. 编辑 Makefile
找到 lib: 选项。然后设置需要编译的库函数如下
#lib: lapacklib tmglib
lib: blaslib lapacklib tmglib
默认的情况是不编译 blas 库的。(除非事先编译好了blas库,否则应一起编译。)
5. 编译和测试 Lapack.
在源代码的根目录下输入 make 回车。然后 make 程序就会自动进行编译和测试。
6. Lapack 函数的使用
如果编译和测试顺利的话会在源代码的根目录下生成三个文件 lapack_LINUX.a、blas_LINUX.a、tmglib_LINUX.a,其中lapack_LINUX.a 和 blas_LINUX.a 就是我们所需要的库函数。它们的使用有多种途径:
方法1:
将lapack_LINUX.a 和blas_LINUX.a所在路径加入到LD_LIBRARY_PATH环境变量
在命令行输入 echo $LD_LIBRARY_PATH,结果为/usr/lib/alliance/lib:/usr/lib/alliance/lib;
输入LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/fengwei.igg/lapack-3.2.1
输入 export LD_LIBRARY_PATH
进入代码所在目录,输入 ifort test.f90 lapack_LINUX.a blas_LINUX.a
编译生成a.out文件,命令行执行./a.out,输出结果。
方法2:
首先,必须将lapack_LINUX.a 和blas_LINUX.a库文件重命名为liblapack_LINUX.a 和libblas_LINUX.a
如以上两文件在/home/fengwei.igg/lapack-3.2.1 文件夹下,在命令行输入
ifort test.f90 -L/home/fengwei.igg/lapack-3.2.1 -llapack_LINUX -lblas_LINUX
编译生成a.out文件,命令行执行./a.out,输出结果。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 04:49
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社