转自:http://www.tuicool.com/articles/vimi6v

OpenBLAS是高性能多核BLAS库,是GotoBLAS2 1.13 BSD版本的衍生版。项目主页是 https://github.com/xianyi/OpenBLAS 。

通常的编译安装流程如下:

make CC=gcc-4.7 FC=gfortran (通常情况下,make会进行自动探测,够用了)
make PREFIX=/your/path install  (可选)

其中,make过程会自动的探测当前机器和编译环境,设置合适的选项。需注意的是,OpenBLAS会下载netlib上的LAPACK源代码。也就是说你的机器必须联网,或者放入lapack的源代码包,或者不包括LAPACK即make NO_LAPACK=1。

如果自动探测不够用,可以考虑下面几个常用选项,具体请参考Makefile.rule文件:

  • 编译32位或者64位, make BINARY=32 或者 make BINARY=64 (如果不设置,会自动探测)
  • 设置目标CPU,比如目标CPU为sandybridge或者nehalem,make TARGET=SANDYBRIDGE 或者 make TARGET=NEHALEM (如果不设置,会自动探测)

  • 在x86/x86_64架构上,程序库包含多个CPU的汇编优化代码,make DYNAMIC_ARCH=1

  • 不包含CBLAS接口,make NO_CBLAS=1
  • 不包含LAPACK, make NO_LAPACK=1
  • 包含LAPACK,但是不包含LAPACKE接口,make NO_LAPACKE=1
  • 编译单线程库, make USE_THREAD=0 (如果不设置为0,会自动探测是否多核处理器,默认使用pthread并行)
  • 编译OpenMP多线程库,make USE_OPENMP=1
  • 设置最大线程数量为n,make NUM_THREADS=n
  • 禁用CPU亲和性,make NO_AFFINITY=1
  • 当在低版本的系统上编译失败时,可以按照https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt里的cpu型号进行编译

OpenBLAS编译和安装简介相关推荐

  1. 嵌入式平台 mips(arm)交叉编译 OpenBLAS 编译和安装

    一.开发环境 编译环境:Ubuntu16.04 ( x64 ) 交叉编译链:mips-gcc472-glibc216 BLAS 库: blas( 3.8.0 ) LAPSCK 库: lapack( 3 ...

  2. Doris(一)-简介、架构、编译、安装和数据表的基本使用

    目录 1.Doris简介 2.Doris网址 3.Doris架构 3.编译和安装 3.1.软硬件需求 3.2.编译 3.2.1.安装Docker环境 3.2.2.使用Docker 开发镜像编译 3.3 ...

  3. SNMP功能开发简介 一 net-snmp编译与安装

    部门产品还没有snmp功能,应客户需求,最近开始开发snmp功能.snmp即简单网络管理协议,管理很简单,但实际开发还是有点工作量,协议有三个版本,分为1,2c,3.相关的RFC文档也比较多,从零开始 ...

  4. linux怎么编译并安装busybox,linux下安装busybox

    1.获取busybox源码并解压,这里使用天嵌提供的"busybox-1.16.0.tar.bz2" #tar xvf busybox-1.16..tar.bz2 -C / 解压的 ...

  5. buildroot自带程序(库)编译并安装

    前几天情绪有点低落,经过周末的调整重新恢复状态,谢谢有爱的朋友们留言和点赞,有你们的陪伴我会更加努力,让我们一起开心写程序..... buildroot简介: 引用官方的简述: Buildroot是一 ...

  6. 嵌入式数据库SQLite的编译、安装和使用[ZT]

    嵌入式数据库SQLite的编译.安装和使用 下文介绍的内容都是基于 RedHat Linux 9.0 平台的. 引言:sqlite简介 sqlite是嵌入式SQL数据库引擎SQLite(SQLite ...

  7. Linux shell 交互式编程、TCL/TK 和 Expect 编译与安装、expect 编程

    以下文章资源都来源于网络,保留原作者的一切权利: Expect 被用来进行一些需要进行交互是shell 编程的,比如完成ssh 自动登录,就可以使用 expect 编程来实现 1,获取原始的tcl源码 ...

  8. Ubuntu 10.04内核源码树的编译和安装

    参考博客:Ubuntu内核源码树的构建与安装 简介 本文主要讨论在Ubuntu10.04 LTS环境下,构建内核代码树的流程. 构建环境 1. 使用Vmware安装Ubuntu10.04的光盘镜像,并 ...

  9. 手动编译源代码安装GR GSM

    1.GRGSM简介 GRGSM项目是基于由Piotrkrysik写GSM接收机(也是GRGSM的主要作者)的airprobe项目.其目的是提供接收GSM设备/设备传输信息的工具集. 2.依赖环境 安装 ...

最新文章

  1. GitLab 8.3.3 发布 开源代码管理
  2. 前端三部曲之Html -- 1(html的基本结构和常见的meta标签的作用)
  3. 写给大数据开发初学者的话3
  4. Kubernetes Metrics-Server
  5. 今儿直白的用盖房子为例,给你讲讲Java建造者模式
  6. 在Windows上使用beginthreadex替换CreateThread的原因
  7. Web 端 js 导出csv文件(使用a标签)
  8. vue中动态指令参数
  9. c语言 屏幕亮度调节_好手机的屏幕有什么不同?我们为何需要一块好屏幕?
  10. C语言使用SQLite3数据库
  11. 流量回放专题-jvm-sanbox-repeater
  12. 计算机组装模拟系统吗,怎么在线模拟组装电脑
  13. 计算机项目答辩评分标准,课题答辩评分标准是什么
  14. qwert rfgfgfh
  15. 我爱天文 - 流星雨来的时候许愿管用吗?
  16. 微信公众号文章音视频下载的几种办法-涵盖PC端和手机端
  17. 数字逻辑电路——第四章 组合逻辑电路
  18. 怎么制作公司网页教程【网站制作】
  19. 同一网段的概念以及计算
  20. 怎样判断一个整数是不是回文数?

热门文章

  1. UiPath针对DataTable中的某几列数据去重
  2. 手把手告诉你如何安装多个版本的node,妈妈再也不用担心版本高低引发的一系列后遗症(非常详细,非常实用)
  3. emWin使用遇到的问题以及解决办法
  4. Spring Boot中使用Spring-Retry重试框架
  5. css怎么实现右边固定,左边自适应
  6. 管理用户html页面,用户管理.html
  7. cf837E(xjb)
  8. ubuntu14.04经典桌面怎么删除启动器的快捷方式
  9. sql查看本机IP地址
  10. 第7次赠书,25本经典书籍免费送,速来!