- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LAPACK安装和调试(包含C语言借口的安装)
Linux环境下Lapack软件包的编译和使用
自行下载编译过程
1. 从 netlab 下载必威体育精装版版本的源代码 2. 将源代码解压缩 3. 编辑 make.inc 文件,进行一些系统相关的编译参数设置 一些编译参数,
PLAT 表示使用的平台,会接在生成lib库的名字中,原本是 _LINUX。FORTRAN 表示你使用的fortran编译器,根据自己安装的编译器来设置,我用的是 gfortran。OPTS 表示 编译时的优化程度,设置为 -O2即可。LOADER 设置成和FORTRAN 基本一样就可以了。
确定生成目标如下,
BLASLIB = /libblas$(PLAT).aLAPACKLIB = liblapack$(PLAT).aTMGLIB = libtmglib$(PLAT).aEIGSRCLIB = libeigsrc$(PLAT).aLINSRCLIB = liblinsrc$(PLAT).a
原来的这些库文件的名字前面没有lib的,这里加上。因为linux上库文件一般有前缀lib的,在链接的时候 -l后面带的是库的名字,那个时候是不加lib的。如果已经编译生成了这些库,可以重命名,而不用重新编译。 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,输出结果。方法3:把lapack_LINUX.a 和blas_LINUX.a拷贝至代码所在目录,输入 ifort test.f90 lapack_LINUX.a blas_LINUX.a编译生成a.out文件,命令行执行./a.out,输出结果。
使用intel商业mkl库调用lapack
如果安装了intel公司的mkl数据库,则里面包含了lapack库,简单的使用方法为在命令行输入:ifort test.f90? -L/opt/intel/mkl/25/lib/32 -lmkl_lapack95 -lguide? -lmkl_core -lmkl_intel -lmkl_intel_thread? -lpthread如出现如下类似错误:error while loading shared l
文档评论(0)