非root用户安装OpenBLAS

安装OpenBLAS:
1>安装gfortran:
依据OpenBLAS官网http://www.openblas.net/的Installation Guide, 在linux上安装OpenBLAS只需要make即可. 不过要指定编译器为gfortran. 首先检验gfortran是否安装在本机上:

gfortran -v

屏幕会显示:
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=PATH/gcc-4.9.4/gcc_compile/libexec/gcc/x86_64-unknown-linux-gnu/4.9.4/lto-wrapper
即gfortran是和gcc-4.9.4一起安装的, 因此不必单独在安装.

2>安装OpenBLAS:
https://sourceforge.net/projects/openblas/files/下载OpenBLAS库. 这里下载openblas0.2.19.tar, 是最新的版本.
解压:

tar -zxvf openblas0.2.19.tar.gz
mkdir PATH/OpenBLAS/OpenBLAS
cd OpenBLAS-0.2.19/
make FC=gfortran NO_AVX2=1

依据OpenBLAS官网http://www.openblas.net/的Installation Guide, 在linux上安装OpenBLAS只需要make即可. 要指定编译器为gfortran. 如果编译选项只有FC=gfortran, 在make的时候报错:

../kernel/x86_64/dtrsm_kernel_RN_haswell.c: Assembler messages:
../kernel/x86_64/dtrsm_kernel_RN_haswell.c:126: Error: no such instruction: vpermpd $0xb1,%ymm0,%ymm3' ../kernel/x86_64/dtrsm_kernel_RN_haswell.c:132: Error: no such instruction:vpermpd $0x1b,%ymm3,%ymm0'......

这是因为新的AVX2 instructions和版本不兼容的问题, make时还设置:

make NO_AVX2=1 or make TARGET=SANDYBRIDGE

这个编译选项, 这两者是等价的. 加上FC=gfortran NO_AVX2=1后即可编译正确.

make install PREFIX=/home/jlu_guan/OpenBLAS/OpenBLAS

OpenBLAS默认是安装在/opt/OpenBLAS下的, 不过非root用户可以在make install改变其安装路径. 借助OpenBLAS自带的README.md. 可以使用make install PREFIX=PATH指定OpenBLAS指定include和lib路径. 安装成功则PATH/OpenBLAS下将有相应的include和lib文件.

将库文件(lib路径)写入环境变量LD_LIBRARY_PATH有两个办法, 一种是临时环境变量, 在命令行输入:

export LD_LIBRARY_PATH=/home/jlu_guan/OpenBLAS/OpenBLAS/lib:$LD_LIBRARY_PATH 

另外一种方法是修改.bashrc中的LD_LIBRARY_PATH境变量来指定库文件(lib路径)的路径:

[~]$ vi .bashrc
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:PATH/OpenBLAS/lib"

重启shell或者source .bashrc即可生效.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值