LAPACK安装和调试(包含C语言借口的安装)_第1页
LAPACK安装和调试(包含C语言借口的安装)_第2页
LAPACK安装和调试(包含C语言借口的安装)_第3页
LAPACK安装和调试(包含C语言借口的安装)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux环境下Lapack软件包的编译和使用自行下载编译过程1. 从netlab下载最新版本的源代码2. 将源代码解压缩3. 编辑make.inc 文件,进行一些系统相关的编译参数设置一些编译参数,PLAT表示使用的平台,会接在生成lib库的名字中,原本是 丄NUX。FORTRAN表示你使用的fortran 编译器,根据自己安装的编译器来设置,我用的是gfortran。OPTS表示编译时的优化程度,设置为 -O2即可。LOADER设置成和FORTRAN基本一样就可以了。确定生成目标如下,BLASLIB = /libblas$(PLAT).aLAPAC

2、KLIB = liblapack$(PLAT).aTMGLIB = libtmglib$(PLAT).aEIGSRCLIB = libeigsrc$(PLAT).aLINSRCLIB = libli nsrc$(PLAT).a原来的这些库文件的名字前面没有 lib的,这里加上。因为linux上库文件一般有前缀 lib的,在链接的时候-l后面带的是库的名字,那个时候是不加lib的。如果已经编译生成了这些库,可以重命名,而不用重新编译。PLAT :设置生成的库函数的后缀,比如SUN, LINUX之类的,当然也可以不设置;FORTRAN 设置编译器,比如 g77, gfortran , ifort

3、, g95等等;(我设置为 FORTRAN = ifort -g )OPT设置编译选项,根据具体的编译器和优化要求进行设置;LOADER: 设置成和FORTRAN一样就可以了;4. 编辑 Makefile找到lib :选项。然后设置需要编译的库函数如下#lib : lapacklib tmgliblib : blaslib lapacklib tmglib默认的情况是不编译bias 库的。(除非事先编译好了 bias库,否则应一起编译。)5. 编译和测试Lapack.在源代码的根目录下输入 make回车。然后make程序就会自动进行编译和测试。6. Lapack 函数的使用如果编译和测试顺利的

4、话会在源代码的根目录下生成三个文件lapack_LINUX.a、blas_LINUX.a、tmglib_LINUX.a ,其中 lapack_LINUX.a 和 blas_LINUX.a就是我们所需要的库函数。它们的使用有多种途径:方法1:将 lapack_LINUX.a 和 blas_LINUX.a 所在路径加入到 LD_LIBRARY_PAT环境变量 在命令行输入 echo $LD_LIBRARY_PATH结果为/usr/lib/allia nce/lib:/usr/lib/allia nce/lib;输入 LD_LIBRARY_PATH=$LD_LIBRARY_PATHhome/feng

5、wei.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/fe ngwei.igg/lap

6、ack-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 ,输出结果。使用in tel 商业 mkl库调用lapack如果安装了 intel公司的mkl数据库,则里面包含了lapack库,简单的使用方法为在命令行输入:ifort test.f90-L/opt/i ntel/mkl/10.2.2.

7、025/lib/32 -Imklapack95-Iguide -lmkl_core -lmkl_i ntel -lmkltel_thread-lpthread如出现如下类似错误:error while loading shared libraries:libguide.so:cannot open shared object file:No such file or directory解决方法为将 /opt/intel/mkl/25/lib/32添加到 LD_LIBRARY_PAT,如方法 1.编译生成a.out文件,命令行执行./a.out ,输出结果。实例test.f90源

8、文件:program test_sgesvimplicit nonereal : a(3,3),b(3)in teger : v(3),iflagexter nal sgesva=reshape(2.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,4.0,3,3)b=998.0,999.0,1000.0print *,a=,aprint *,b=,bcall sgesv(3,1,a,3,v,b,3,iflag)print *,solve=,bend program test_sgesv输出结果:a= 2.0000000.0000000E+000.0000000E+000.00000

9、00E+003.0000000.0000000E+000.0000000E+000.0000000E+004.000000b= 998.0000999.00001000.000solve= 499.0000333.0000250.0000LAPACKE的安装从网站上下载lapacke的压缩包,就是 Standard C Ianguage APIs for LAPACK 对应的压缩包,解压缩,查看READM文件。同样地,需要修改 make.inc文件,CC表示使用的C程序编译器,改成 gcc,LINKER表示编译时要使用的连接器,前面几行注释提到了,之前编译lapack.a 和blas.a用的什么fortran 编译器,这里就用什么。那么改成gf ortra n.LAPACKE表示要生成的库文件的名字,类似的,改成 liblapacke.aLAPACKE勺编译需要之前生成的lapack库文件,所以LIBS这一行需要设置好。LIBS = $(LAPACK_PATH)/liblapack.a $(LAPACK_PATH)/libblas.a注意这里 liblapack.a文件全名应该是 liblapack$(P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论