目录
BLAS是基本的矩阵库,OpenBLAS是高性能多核BLAS库,是GotoBLAS2 1.13 BSD版本的衍生版,Lapack是矩阵线性运算库,实现了多种矩阵的运算,且底层使用BLAS。OpenBLAS的详细介绍请参考:
https://github.com/xianyi/OpenBLAS/wiki/Faq
https://github.com/xianyi/OpenBLAS/wiki/User-Manual
环境的安装
Centos需要安装gcc及g++
安装gcc:yum install gcc
安装g++:yum install gcc-c++ (权限不够,用在root权限下安装)
1.查看gcc版本
gcc -v
如果是gcc4.8以下建议升级到gcc4.8
升级到gcc4.8
(1)下载源码包
wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
tar -jxvf gcc-4.8.0.tar.bz2
(2)下载编译所需依赖库
cd gcc-4.8.0 //打开gcc-4.8.0文件目录
./contrib/download_prerequisites //下载依赖
cd //退出
(3)建立编译输出目录
mkdir gcc-build-4.8.0
(4)进入此目录,执行以下命令,生成makefile文件
cd gcc-build-4.8.0 //打开gcc-build-4.8.0文件目录
../gcc-4.8.0/configure –enable-checking=release –enable –languages=c,c++,fortran,go –disable-multilib
(5)编译
make -j4 //j 后面的是核心数,编译速度会比较快
(6)安装
make install
(7)切换GCC到新版 确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下
ls /usr/local/bin | grep gcc
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
(8)确认当前版本已经切换为新版
gcc -v
参考: https://www.mudbest.com/centos%e5%8d%87%e7%ba%a7gcc4-4-7%e5%8d%87%e7%ba%a7gcc4-8%e6%89%8b%e8%ae%b0/
2. 安装OpenBLAS的步骤
(1)下载最新的openblas
git clone https://github.com/xianyi/OpenBLAS.git
(没有安装git,先安装git 。CentOS安装git
yum install git
(2)打开 OpenBLAS
cd OpenBLAS
(3)(如果没有安装gfortran,执行sudo apt-get install gfortran) (centos是yum install gcc-gfortran)
make FC=gfortran
(4)将OpenBLAS安装到/opt下
make install
(5)执行以下命令完成安装
ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libblas.so.3
ln -s /opt/OpenBLAS/lib/liblapack.so.3 /usr/lib/liblapack.so.3
(6)在/etc/profile中加入
LD_LIBRARY_PATH=/opt/OpenBLAS/lib
export LD_LIBRARY_PATH
3.链接库
(1)链接共享库
gcc -o test test.c -I /your_path/OpenBLAS/include/ -L/your_path/OpenBLAS/lib -lopenblas
(如果库是多线程的,请添加-lpthread。如果库包含LAPACK函数,请添加-lgfortran或其他Fortran库。)
(2)链接静态库
gcc -o test test.c /your/path/libopenblas.a
相关知识参考:
https://www.cnblogs.com/52php/p/5681711.html
https://github.com/xianyi/OpenBLAS/wiki/User-Manual
https://blog.csdn.net/zeroder/article/details/50579130 (这个作者写的太乱)
接下里开始运行代码吧。。
运行里面的代码 https://blog.csdn.net/Sunshine_in_Moon/article/details/51728246
.
目录
注意:因为我也是慢慢摸索的,写的不好之处请见谅**。