ubuntu blas lapack,ubuntu sudo
大家好,今天小编来为大家解答以下的问题,关于ubuntu blas lapack,ubuntu sudo这个很多人还不知道,现在让我们一起来看看吧!
64位ubuntu怎么安装和调用lapack
在lapack网站下载最新的lapack-3.4.2压缩包,解压。
在解压后的lapack-3.4.2目录下面有一个make.inc.example文件,将其改为make.inc。
(如果是gfortran的编译器,则基本不需要修改这个文件)
把makefile文件中的:
lib: lapacklib tmglib
#lib: blaslib variants lapacklib tmglib
改为:
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
然后打开终端,切换到当前目录,输入:sudo make即可。
操作到这里没有报错。
然后把文件夹下面的liblapack.a,librefblas.a,libtmglib.a三个库拷贝到/usr/lib。
尝试了一个简单的程序:
program Console1
external dgesv
integer n, lda, nrhs, ldb
parameter(n=2,lda=2,nrhs=1,ldb=2)
double precision A(lda,n)
double precision b(ldb,nrhs)
character byebye
integer ipiv(n), info, i, j
A(1,1)=1
A(1,2)=2
A(2,1)=3
A(2,2)=4
B(1,1)=5
B(2,1)=6
write(*,*)'Hello World'
call dgesv(n,nrhs,A,lda,ipiv,b,ldb,info)
write(*,*)'INFO=', info
write(*,*)((A(i,j),i=1,lda),j=1,n)
write(*,*)((B(i,j),i=1,ldb),j=1,nrhs)
write(*,*)"END OF PROGRAM..."
end program Console1
在终端输入:gfortran Console1.f-lblas-llapack
在当前目录得到:a.out文件
在终端输入:./a.out
输出结果为:
Hello World
INFO= 0
3.0000000000000000 0.33333333333333331 4.0000000000000000 0.66666666666666663
-4.0000000000000000 4.5000000000000000
END OF PROGRAM...
成功!
linux关于blas、lapack的安装和使用
Linux系统下,若需进行高效且便捷的BLAS和LAPACK库安装与使用,推荐选用Intel的MKL库。本文将对MKL库的使用进行实例展示,并概述BLAS、LAPACK、CBLAS与LAPACKE库的安装与配置。
BLAS(Basic Linear Algebra Subprograms)提供基础矩阵与向量运算,而LAPACK(Linear Algebra Package)则具备更丰富的线性方程求解、二次规划、特征值分解等高级运算功能。为了在C语言中调用这些库,同时考虑在Python中调用C生成的动态库(.so文件),需要一并安装CBLAS与LAPACKE。
在Ubuntu与CentOS等Linux发行版上安装与配置BLAS、CBLAS、LAPACK与LAPACKE库,通常能实现顺利的编译与使用。确保库文件与头文件的正确路径,例如将其放置在/usr/local/lib与/usr/local/include目录下,或通过用户级别的~/.bashrc文件添加路径配置。
在进行库的链接与编译时,需注意库的链接顺序,这可能影响程序的正常运行。若遇到头文件或静态库未找到的问题,可参考上述路径配置或在编译时通过`-I`与`-L`参数指定路径。
对于Python调用C生成的动态库的需求,需对LAPACK的编译选项进行调整。通过修改~/lapack-3.10.1/make.inc文件,将相关设置增加`-fPIC`选项,进而重新编译生成BLASlib、CBLASlib、LAPACKlib与LAPACKelib。这一步骤能确保动态库的生成兼容Python环境。
如遇编译过程中出现错误,如“/usr/bin/ld: cannot find xxxx”的提示,这通常意味着库文件路径未正确添加。通过搜索与执行“编译-L”相关指令,可解决找不到库文件的问题。
总结而言,Linux环境下,通过正确安装与配置BLAS、CBLAS、LAPACK与LAPACKE库,结合Intel MKL库的使用实例,能高效地满足各类矩阵与线性代数运算需求。同时,本文提供的安装与使用指导,旨在简化这一过程,确保用户能快速上手并高效地在多种编程环境中应用这些关键库。