linux编译blas,在Linux中lapack / blas / openblas从源代码正确安装 – 用新的系统库替换系统库...
我想从源代码安装BLAS,CBLAS,LAPACK和OpenBLAS库,使用可在此处下载的可用软件包
openblas和
lapack,
blas/cblas.
首先我删除了我的系统blas / cblas和lapack库,但遗憾的是atlas库无法卸载(我可以同时使用blas和lapack或者atlas – 不能将它们全部删除).我没有打扰并开始编译下载的库因为我认为安装后我可以删除地图集.
构建过程基于this教程.为了完整起见,我将列出以下步骤:
> OpenBLAS.编辑Makefile.rule(NO_CBLAS = 1,NO_LAPACK = 1,NO_LAPACKE = 1)文件后,我运行以下代码:
make FC=gfortran
sudo make PREFIX=/usr/local/ install
> CBLAS.编辑Makefile.in后(除了-lpthread我需要添加-pthread标志):
make
cd lib
ar -x libcblas.a
gfortran -lopenblas -shared -o libcblas.so *.o
sudo cp libcblas.* /usr/local/lib/
> LAPACK.编辑make.inc文件后:
make lapacklib
mkdir tmp
cd tmp
cp ../liblapack.3.6.0.a .
ar -x liblapack.3.6.0.a
gfortran -lopenblas -lcblas -shared -o liblapack.3.6.0.so *.o
sudo cp liblapack.3.6.0.* /usr/local/lib
cd /usr/local/lib
sudo ln -sn liblapack.3.6.0.a liblapack.a
sudo ln -sn liblapack.3.6.0.so liblapack.so
> LAPACKE.我用以下方式编辑了gcc的make.inc文件:
CC = gcc
CFLAGS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
然后我跑:
make lapackelib
mkdir tmpe
cd tmpe
cp ../liblapacke.a .
ar -x liblapacke.a
gfortran -lopenblas -lcblas -shared -o liblapacke.so *.o
sudo cp liblapacke.* /usr/local/lib
> BLAS.我编辑了make.inc文件:
FORTRAN = gfortran
OPTS = -O3 -march=native -m64 -fomit-frame-pointer -fPIC
DRVOPTS = $(OPTS)
NOOPT = -O0 -fPIC
LOADER = gfortran
LOADOPTS = -lopenblas -lcblas
并运行:
make
gfortran -lopenblas -shared -o libblas.so *.o
sudo cp libblas.* /usr/local/lib/
现在我将我的静态和共享库全部放在/usr/local/lib目录中,我想知道我的Linux mint 17.2系统,我已经安装了它,所以我最终可以卸载atlas.有什么想法怎么做?
我的总体目标是正确设置OpenBLAS,所以我也希望从源代码编译所有其他库.我还想检查我的库是否正常工作或者我做错了什么.
我的长期目标是安装Arpack和SuperLU与OpenBLAS一起工作,然后最终安装Armadillo库(C).
您可以使用LD_LIBRARY_PATH环境变量.刚添加到〜/ .barsrc中.即
$echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
注意:请注意双>>不要删除以前的内容.
第二个选项是在/etc/ld.so.conf.d中添加路径.即
$echo /usr/local/lib > /etc/ld.so.conf.d/myblas.conf
您还可以查看this question以获取更多详细信息.
linux编译blas,在Linux中lapack / blas / openblas从源代码正确安装 – 用新的系统库替换系统库...相关推荐
- linux环境下c语言调用lapack,linux系统下C语言调用lapack ,blas库
在利用C语言编程,经常调用其他的软件包,其中lapack,blas库是最常用的两个库,这里讲下在linux系统下,C语言编程如何调用这两个库: 1.首先讲下blas库的调用,这里以两个向量内积函数为例 ...
- ubuntu linux编译apt,Ubuntu Linux系统下apt-get命令详解
整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家. 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show pa ...
- linux编译c 自动化,Linux江湖06:感悟GNU C以及将Vim打造成C/C++的半自动化IDE
C语言在Linux系统中的重要性自然是无与伦比.不可替代,所以我写Linux江湖系列不可能不提C语言.C语言是我的启蒙语言,感谢C语言带领我进入了程序世界.虽然现在不靠它吃饭,但是仍免不了经常和它打交 ...
- jenkins linux编译c,【Linux】【Jenkins】代码编译和执行过程中的问题汇总
1.问题1:java.io.FileNotFoundException: /root/.jenkins/workspace/Videoyi_AutoTest_Maven/config-log4j\lo ...
- linux编译lame,技术|Linux 有问必答:如何在Linux中修复“fatal error: lame/lame.h: No such file or dir...
提问: 我尝试着在Linux中编译视频编码器,但是编译提示出错:"fatal error: lame/lame.h: No such file or directory", 我该如 ...
- linux 编译 expat,yum升级中expat安装问题的解决
安装httpd的时候,需要升级一下expat,报错如下: 运行 yum install expat 后报错: --> Finished Dependency Resolution Error: ...
- linux 编译工具链,Linux工具链for TKStudio下载_Linux工具链for TKStudio官方下载-太平洋下载中心...
Linux工具链for TKStudio是一款支持TKStudio IDE集成开发环境的辅助LINUX交叉编译工具链软件,交叉编译就是跨架构编译,编译出来的程序不能在本机执行(当然有例外情况).所以这 ...
- linux编译c 优化,Linux编译选项
Linux平台都通过CC调用它们的C编译程序.除标准和CC以外,LINUX和FREEBSD还支持gcc. 基本的编译命令选项有以下几种: 1. -c (compile) 编译产生对象文件(*.o ...
- Linux编译代码卡死,Linux下970Pro编译卡死的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人小白一个,想请教图吧技术佬一个Linux下多线程编译C++时系统卡死的问题. 先说下家里电脑大体配置:CPU是Ryzen 1600X,显卡是华硕战枭G ...
最新文章
- linux 用户身份与进程权限
- $.post把表单对象传递过去_第二章 第三节 Request请求对象详解
- 用matlab录制声音然后进行读取和播放
- 自学python能找到工作吗-自学Python好找工作吗?
- WPF 自己动手来做安装卸载程序
- 此系统上未启用启动项_解决系统死机的7种方法,维修电脑必备技巧,你知道几条...
- /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o:在函数‘_start’中:(.text+0x20):对‘main’未
- 前端直传阿里云OSS
- scrapy爬虫简单实例
- 美联储印钞,中国物价为何上涨?
- 微信小程序不支持使用本地图片设置背景图片解决方法
- 通过源码分析Mybatis运行原理
- 人工智能全球发展趋势、经济影响和未来挑战
- python朴素贝叶斯分类示例_Python实现的朴素贝叶斯分类器示例
- kingscada检测服务器状态,KingSCADA WEB发布总结
- 内蒙古简易医院企业网设计与规划
- java动态规划解决工程,求帮助解决这道题(动态规划)
- Python基础练习——字符串相关
- Javascript的~(波浪号)用法
- 区别:web server VS. application server