Ubuntu下如何编译OpenBLAS

1.下载源码压缩包(v0.2.18.zip)http://www.openblas.net/

2.编译

执行命令:make

默认编译的是支持多线程、无fortran库支持的。

如果需要编译单线程版、支持fortran库,执行命令:makeFC=gfortran USE_THREAD=0

(如未安装gfortran,执行命令“sudoapt-get install gfortran”进行安装)

3.安装

执行命令:makeinstall PREFIX=/home/yanghao/project/OpenBLASd_lib

PREFIX后面跟着的是lib文件导出目录,该目录将在使用该库的工程中引用。

4.建立连接

为了保证链接正确,需手动建立.a/.so文件的链接(其实安装后默认自动建立过了,这里也是为了导出到系统lib库中,因为gdb调试时需要系统lib库中存在本库文件)。这里仅介绍.so文件链接建立。

执行命令:

sudomkdir /usr/lib/OpenBLAS #在系统lib库中建立单独的目录

sudoln -s -f/home/yanghao/project/OpenBLASd_lib/lib/libopenblas_haswell-r0.2.18.so/home/yanghao/project/OpenBLASd_lib/lib/libopenblas.so

sudoln -s -f/home/yanghao/project/OpenBLASd_lib/lib/libopenblas_haswell-r0.2.18.so/home/yanghao/project/OpenBLASd_lib/lib/libopenblas.so.0

sudocp/home/yanghao/project/OpenBLASd_lib/lib/libopenblas_haswell-r0.2.18.so/usr/lib/OpenBLAS #拷贝到系统lib库中

sudoln -s -f /usr/lib/OpenBLAS/libopenblas_haswell-r0.2.18.so/usr/lib/OpenBLAS/libopenblas.so

sudoln -s -f /usr/lib/OpenBLAS/libopenblas_haswell-r0.2.18.so/usr/lib/OpenBLAS/libopenblas.so.0

sudogedit /etc/ld.so.conf.d/OpenBLAS.conf #create OpenBLAS.conf

sudoecho /usr/lib/OpenBLAS>/etc/ld.so.conf.d/OpenBLAS.conf #addcontent

sudoldconfig #刷新系统库缓存



注:

如何编译可以使用gdb调试的库?

编译选项中增加”-g-DDEBUG”即可。对于OpenBLAS,在Makefile.system中增加以下内容即可:

DEBUG=1#用于打开调试开关,在该文件已经存在了-g选项,只不过是通过本DEBUG开关进行控制是否生效的

ifeq($(DEBUG), 1)

EXTRALIB+= -DDEBUG

endif

这样编译生成的so库就包含了调试用的符号表等信息。通过gdb调试程序时,将断点设置一个位于.so中的库函数上,运行到该函数时,就可以直接进入该函数进行单步跟踪了(否则将无法进入该函数,gdb会直接跳过)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值