在Linux环境下Lapack软件包的编译和使用


1. 从 netlab 下载最新版本的源代码
 
  http://www.netlib.org/lapack/lapack-3.1.0.tgz
 
  2. 将源代码解压缩
 
  tar -zxf lapack-3.1.0.tgz
 
  3. 编辑 make.inc 文件,进行一些系统相关的编译参数设置
 
  PLAT : 设置生成的库函数的后缀,比如 SUN, LINUX之类的,当然也可以不设置;
 
  FORTRAN : 设置编译器,比如 g77, gfortran, ifort, g95 等等;
 
  OPT:设置编译选项,根据具体的编译器和优化要求进行设置;
 
  LOADER : 设置成和FORTRAN 一样就可以了;
 
  4. 编辑 Makefile
 
  找到 lib: 选项。然后设置需要编译的库函数如下
 
  #lib: lapacklib tmglib
 
  lib: blaslib lapacklib tmglib
 
  默认的情况是不编译 blas 库的。
 
  5. 编译和测试 Lapack.
 
  在源代码的根目录下输入 make 回车。然后 make 程序就会自动进行编译和测试。
 
  6. Lapack 函数的使用
 
  如果编译和测试顺利的话会在源代码的根目录下生成三个文件 lapack.a、blas.a、tmglib.a.lapack.a 和 blas.a 就是我们所需要的库函数。它们的使用有两种途径:
 
  a) cp lapack.a liblapack.a , cp blas.a libblas.a 并拷贝到 LD_LIBRARY_PATH 目录下,或者它们所在的目录加入到 LD_LIBRARY_PATH 环境变量中,或者在编译时候加上 “-L lapack所在目录/” 选项。编译的时候加上编译选项 -llapack -lblas.
 
  b) 编译的时候直接把 lapack.a 和 blas.a 一起同需要编译的代码一起编译。比如 要编译的文件为 main.f90 编译器为 gfortran . gfortran main.f90 lapack.a blas.a.
 
  当然也可以将 Lapack 做成动态链接库文件的形式来使用。当然,在 linux 系统下也可以直接安装编译好的文件比如 redhat 、suse 安装 rpm 格式的文件,在 ubuntu 和 debian 系统下,安装 deb 格式的文件。但是最好还是根据自己的环境自己编译库函数,这样速度会快一些。我曾在 ubuntu 下做过实验一般情况下速度关系为,自己编译的库函数 > 编译好的库函数 > 调用 matlab 函数 本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3