最近想使用atlas,可是在网上找了好些教程,自己编译源码atlas总是报错。经过Google,查看一些国外大神的帖子,在自己艰辛的测试下,终于安装上了atlas。

1、使用到的安装包主要有blas,cblas,lapack,atlas。

blas和cblas的安装包下载地址为 :

http://www.netlib.org/blas/blas.tgz

http://www.netlib.org/blas/blast-forum/cblas.tgz

lapack的官方包地址: http://www.netlib.org/lapack/

atlas的官方包地址:http://sourceforge.net/projects/math-atlas/

PS:安装过程中会使用到gfortran编译器,如果没有安装则使用sudo apt-get install gfortran进行安装。

2、blas的安装

下载文件后,对压缩包进行解压,进入目录,执行命令为:

gfortran -c  -O3 *.f  # 编译所有的 .f 文件,生成 .o文件
ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件
su cp libblas.a /usr/local/lib  # 将库文件复制到系统库目录

3、cblas的安装

进入CBLAS文件夹,根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,如果是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,然后使用下面的命令安装:

cp ../BLAS/libblas.a  testing  # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
make # 编译所有的目录
sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 将库文件复制到系统库目录下

4、lapack的安装

编译 lapack以及lapacke,这一步比较麻烦,首先当然是进入lapack-3.4.2文件夹,然后根据平台的特点,将INSTALL目录下对应的make.inc.XXX 复制一份到 lapack-3.4.2目录下,并命名为make.inc, 这里我复制的是 INSTALL/make.inc.gfortran,因为我这里用的是gfortran编译器。

修改lapack-3.4.2/Makefile, 因为lapack以来于blas库,所以需要做如下修改

#lib: lapacklib tmglib

lib: blaslib variants lapacklig tmglib

make # 编译所有的lapack文件
cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
make # 编译lapacke
cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录
cd .. #返回到 lapack-3.4.2 目录
cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录

5、altas的安装

这个比较麻烦,不过可以直接使用命令sudo apt-get install libatlas-dev来进行安装。如果想自己手动编译源码,那是要费写波折的,主要问题是由于在编译atlas源码的过程中需要关闭intel芯片即CPU的 throttling。但是目前网站上提供的一些关闭方法都已经行不通了,这主要是CPU芯片的驱动问题,官方的驱动会使得网上的那些方法失效,并不能真的关闭cpu throttling。

经过我资料的查阅,终于找到了解决办法,现在先列举一些网上常见的方法,可以先进行测试,如果可以真正关闭cpu throttling那就最好了。现在列举方法:

1.安装cpufreqd和cpufrequtils,然后用命令关闭:

sudo apt-get install gnome-applets 
sudo apt-get install gnome-applets-data 
sudo /usr/bin/cpufreq-selector -g performance

通过测试,发现如果是多CPU时,该命令并不能完全更改所有cpu的性能模式,当然更没有关闭cpu throttling,不过Ubuntu12.04及以前的版本可能会关闭cpu throttling。 我在Ubuntu14.04 以后得版本测试都不行。

2.使用cpupower来修改cpu模型:

sudo apt-get install cpupower 
sudo cpupower frequency-set -g performance

这个命令可以全部修改cpu模式。想要查看cpu的模式可以使用下面的命令:

cat /sys/devices/system/cpu/cpu{0,1,2,3}/cpufreq/scaling_governor

会得到类似下面的结果:

performance 
performance 
performance 
performance

单从结果上看貌似已经修改了cpu的模式,其实不然,当编译atlas时,还是会报错,说没有关闭cpu throttling。如下面的错误:

CPU Throttling apparently enabled! 
It appears you have cpu throttling enabled, which makes timings 
unreliable and an ATLAS install nonsensical.  Aborting. 
See ATLAS/INSTALL.txt for further information

现在来说说如何彻底关闭cpu throttling(当然是软件临时性关闭,因此也可以从BOIS里面进行关闭)。必须加载cpu驱动的其他模块,其实只要关闭一个就行了,代码如下:

sudo vim /etc/default/grub 
#修改其中的一行代码 
GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

然后用命令更新一下:

sudo grub_mkconfig -0 /boot/grub/grub.cfg

如果还是报错,那重启一次就应该没问题了。

接下来再用上述的第二种方法关闭cpu throttling就好了。

既然关闭好cpu throttling了,接下来就可以编译atlas了。这个网上教程还是有的,这里给出一个常规的步骤:

bunzip2 -c atlas3.10.x.tar.bz2 | tar xfm - # create SRCdir 
mv ATLAS ATLAS3.10.x  # get unique dir name 
mkdir build # create BLDdir 
cd build # enter BLDdir 
../configure -b 64 -D c -DPentiumCPS=2400 \   # configure command 
--prefix=/home/whaley/lib/atlas \   # install dir 
--with-netlib-lapack-tarfile=/home/whaley/dload/lapack-3.4.1.tgz  #lapack所在的目录 
make build # tune & build lib 
make check # sanity check correct answer 
make ptcheck  # sanity check parallel 
make time # check if lib is fast 
make install  # copy libs to install dir

其中需要注意的就是配置参数,如果想生成动态链接库,使用下面的命令配置:

../configure -b 64 -D c -DPentiumCPS=2400 -Fa alg -fPIC \   # configure command 
--prefix=/home/whaley/lib/atlas \   # install dir 
--with-netlib-lapack-tarfile=/home/whaley/dload/lapack-3.4.1.tgz  #lapack所在的目录

至此基本就结束了,如果遇到问题可以继续讨论。

Linux下Lapack如何安装:http://www.linuxdiyf.com/linux/14413.html

blas、lapack、atlas在Ubuntu上的安装相关推荐

  1. linux安装vi 插件,Ubuntu上Vim安装NERDTree插件的详细操作步骤

    NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...

  2. nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置

    nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置 0 之前知识回顾:  1) 目前各种服务器HTTP Server对PHP的支持一共有三种: a.通过HTTPServe ...

  3. 大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析

    文章目录 前言 一.创建 Ubuntu 用户 二.安装 Java 2.1.查看本地 Java 版本 2.2.验证 Java 在本地的配置情况 三.安装 ssh 服务 3.1.安装 openssh-se ...

  4. ROS indigo在Ubuntu上的安装教程

    ROS indigo在Ubuntu上的安装教程 1 安装 1.1 配置ubuntu仓库的属性 由于ROS属于社区支持,还有很多其他的库并不是官方支持的,所以需要修改ubuntu的仓库属性,让其允许获得 ...

  5. Ubuntu上编译安装迅雷XwareDesktop

    Ubuntu上编译安装说明 本页介绍如何在Ubuntu 14.04及以上的系统上手动编译安装Xware Desktop. 由于迅雷官方没有发布64位版的xware,Xware Desktop的作者无法 ...

  6. 中文语音对话 机器人 在 ubuntu 上的 安装

    开源项目叮当-中文语音对话机器人在ubuntu上的安装 在叮当的官网(http://dingdang.hahack.com)上看到,它这是如下图这样介绍叮当的,它的安装流程也是基于树莓派来写的流程.而 ...

  7. sql server能在linux上运行,在 Ubuntu 上可以安装 SQL Server 了~

    原标题:在 Ubuntu 上可以安装 SQL Server 了~ 导读 SQL Server现在可以在Linux上运行了!正如微软CEO Satya Nadella说的,"Microsoft ...

  8. 统计机器翻译(SMT)工具Moses在Ubuntu上的安装及使用(安装篇)

    统计机器翻译(SMT)工具Moses在Ubuntu上的安装及使用(安装篇) 前言 Ubuntu配置 1.关闭系统自动休眠(可选) 2.更换软件源 Moses安装 1.安装相关依赖包: 2.检查gcc和 ...

  9. linux编译lapack,blas、lapack、cblas在Ubuntu上的安装

    这是整合借鉴几篇别人的文章,但是做了一点修改.(最初是谁的,忘记了) 1.确保机器上安装了gfortran编译器,如果没有安装的话,可以使用 sudo apt-get install gfortran ...

最新文章

  1. python语言有什么用-python语言为什么好呢?它有什么特点?
  2. maven 学习---Maven添加远程仓库
  3. 视频专辑:Hibernate 视频
  4. php mysql 编码为utf-8_php连mysql用 utf-8编码乱码怎么办
  5. Java得到请求的IP地址
  6. Spring-Boot (四) 集成Spring Security
  7. vue——路由独有的生命周期函数 activated deactivated
  8. java digests.generatesalt_Java DigestUtils.sha1Hex方法代碼示例
  9. php calendar,php编译安装calendar扩展模块
  10. 即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)...
  11. 瑞友天翼服务器ip地址怎么修改,(瑞友天翼安装教程.doc
  12. php生成成语,洪恩在线成语词典小偷程序php版_PHP教程
  13. 信号与系统(六)z变换
  14. 怎么彻底卸载cad2017_彻底卸载cad2010的方法步骤
  15. vue项目如何集成金格WebOffice2015
  16. java批量下载图片并打包成zip文件
  17. Windows下的JavaFX桌面应用程序打包ABC
  18. 二、入门Python第二课
  19. NLP(四十八)使用kenlm进行文本纠错
  20. 罗永浩2011年保利剧院演讲(一个理想主义者的创业故事II)

热门文章

  1. HTML5学堂,感谢您一年的陪伴(上)
  2. 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 有序
  3. Python 二进制文件流转图片
  4. RFID资产管理|超高频RFID技术在医院资产管理项目中的应用-铨顺宏
  5. 《数据库原理与应用》马春梅 禹继国 黄宝贵 祝永志 编著 P30 六个表的实现
  6. 专利撰写时一定要注重质量
  7. Google Play 下载 apk
  8. ESP32 测试(五): Light-sleep 模式下的电流功耗测试及特性(使用 Wi-Fi)
  9. fastlane 上传到蒲公英和Fir 配置
  10. 获取海康摄像机的rtsp流,并用VLC测试