ubuntu 18.04中编译安装使用 lapack 示例
2021/12/15 7:22:26
本文主要是介绍ubuntu 18.04中编译安装使用 lapack 示例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
0.0 拉取 ubuntu:18.04 docker image:
sudo docker pull ubuntu:18.04
0.1 启动docker:
sudo docker run --name Lapack_running -it \
-v /dev:/dev -v /usr/src/:/usr/src -v /lib/modules/:/lib/modules --privileged --cap-add=ALL ubuntu:18.04
以下是docker内操作:
0.2 mv /etc/apt/sources.list /etc/apt/sources.list.backupLL
0.3 echo "deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse" > /etc/apt/sources.list
0.4 apt-get update && apt-get upgrade
0.5 apt-get install vim
0.6 将下面的ubuntu18.04 163 源全部加入到 /etc/apt/sources.list 中: vim /etc/apt/sources.list
0.7 apt-get update && apt-get upgrade
0.8 安装必要软件:
apt-get install python3 gfortran wget make
0.8 mkdir 并且 cd 至源码目录
0.9 下载lapack包:
wget https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.0.tar.gz
0.10 解压:
tar -zxvf v3.10.0.tar.gz
0.11 cd lapack-3.10.0
0.12 cp make.inc.example make.inc
0.13 vim Makefile 并且将12和13行修改为如下:
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
0.14 开始编译:
make -j32
0.15 cd LAPACKE #cd 进入LAPACKE文件夹,这里是lapack的C语言接口源码
0.16 编译LAPACKE:
sudo make -j32 # 编译lapacke
0.17 手动安装lapacke:
cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录
0.18 手动安装lapack:
cd .. #返回上级目录 lapack-3.10.0/
cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录
0.19 使用示例:
在系统中任意文件夹中,将如下代码存储为helloLapack.c
//helloLapack.c #include <stdio.h> #include <lapacke.h> int main (int argc, const char * argv[]) { double a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3}; double b[5*2] = {-10,12,14,16,18,-3,14,12,16,16}; lapack_int info,m,n,lda,ldb,nrhs; int i,j; m = 5; n = 3; nrhs = 2; lda = 5; ldb = 5; info = LAPACKE_dgels(LAPACK_COL_MAJOR,'N',m,n,nrhs,a,lda,b,ldb); for(i=0;i<n;i++) { for(j=0;j<nrhs;j++) { printf("%lf ",b[i+ldb*j]); } printf("\n"); } return(info); }
0.20 使用gfortran进行编译:
gfortran helloLapack.c -llapacke -llapack -lrefblas -o helloLapack
0.21 执行示例:
./helloLapack
打印结果为:
2.000000 1.000000
1.000000 1.000000
1.000000 2.000000
https://blog.csdn.net/zouyu1746430162/article/details/53374693
https://blog.csdn.net/mlnotes/article/details/9676269
https://blog.csdn.net/yuanxing14/article/details/41744461
https://blog.csdn.net/chishuideyu/article/details/78351063
https://my.oschina.net/u/4325212/blog/3908072
这篇关于ubuntu 18.04中编译安装使用 lapack 示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享