您的位置:首页 > 其它

菜鸟 ubuntu下安装scipy全过程 (主要是安装atlas)

2013-12-20 17:38 281 查看
参考资料:

atlas官方主页:http://math-atlas.sourceforge.net/
http://210.75.240.148/blog-449511-577597.html http://blog.csdn.net/zxia1/article/details/8164746 http://blog.sina.com.cn/s/blog_6cb8e53d0101keak.html
LAPACK版本:LAPACK 3.5.0

SCIPY版本 :3.11.17

python版本:2.7

首先明确几个库的关系:

ATLAS是python下的一个线性代数库,是基于线性代数库lapack的;

NumPy提供了一个在python中做科学计算的基础库,它重在数值计算,甚至可以说是用于多维数组处理的库;

SciPy是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层次的库;

许多人说NumPy依赖于ATLAS,但是实测我自己没有安装ATLAS成功安装NumPy,不过直接安装scipy却报缺少BLAS库,因此选择了BLAS的优化ATLAS进行安装。

预处理:

根据atlas的安装文档,安装前,要先要禁掉CPU Throtting。由于我使用的是虚拟机,只有一个核,故而不需要此步,但仍然列出: 在Ubuntu系统上要首先安装cpufrequtils和cpufreqd这两个包, 也许还要安装powernowd包, 然后执行sudo /usr/bin/cpufreq-selector –g

1. 安装LAPACK

网上的教程很多直接用LAPACK的压缩包作为ATLAS的参数,我 真正安装scipy的时候也是用的压缩包,不过这里仍然给出完整安装lapack的教程。(网上现有教程版本较老,实际操作需要有所改动,安装的时候我快纠结得要死)

(1)解压LAPACK,将lapack源目录下的make.inc.example 改名make.inc:

mv make.inc.example make.inc

(2)编辑一下make.inc,将编译器指定为你的编译器ifort或者gfortran (我没做修改)

(3)修改一下那个makefile,其实里面有个让你选的,

#lib : blaslib ,lapacklib , tmglib ...

lib : lapacklib ,tmglib ,..

改成

lib :blaslib ,lapacklib,tmglib ..

# lib :lapacklib ,tmglib ,..

(4) make

最后生成3个.a文件:



2. 安装ATLAS

ATLAS 完整安装步骤主要分5步,仅configure和build是必需的。下面是官网介绍:

configure: Tell the ATLAS build harness where your SRCdir and BLDdir directories are, and allow ATLAS to probe the platform to create ATLAS's Make.inc and BLDdir directory tree.
build: Tune ATLAS for your platform, and build the libraries.
check: Run sanity tests to ensure your libraries are producing correct answers.
time: Run basic timing on various ATLAS kernels in order to make sure the tuning done in the build step has resulted in efficient implementations.
install: Copy ATLAS's libraries from the BLDdir to some standard location.

(1)在安装前需要确定2个文件夹:

SRCdir:the path to your ATLAS source directory (eg, /home/whaley/ATLAS3.8.0).

BLDdir: the path to your ATLAS build directory (eg, /home/whaley/ATLAS3.8.0/Linux_P4E64SSE3).

2个文件目录不允许相同,但BLDdir可以不在SRCdir子目录下。

(2)从官网下载ATLAS库,解压到ATLASSRCdir文件夹,然后进入该文件夹,执行:

mkdir Linux_C2D64SSE3
# create BLDdir

cd Linux_C2D64SSE3 # enter BLDdir

../configure -b 64 -D c -DPentiumCPS=2800
-Fa alg -fPIC --with-netlib-lapack-tarfile=/home/haiyu/Programs_Install/lapack-3.5.0.tgz --prefix=/usr/local/atlas

粗体参数
需要根据个人系统修改:

-b 指定编译出库的类型(32位库还是64位库)

-D c -DPentiumCPS 是指定你的CPU的时钟频率,可以通过 grep MHz /proc/cpuinfo 得到

-Fa alg -fPIC 得到与位置无关的代码,生成动态的共享库

--prefix 为安装路径

--with-netlib-lapack-tarfile 则是lapack压缩包路径

成功configure的结果应该如下:



(3)编译:make build

这个过程相当漫长,耐心等待!!

(4)可选步骤:check编译结果

make check

make ptcheck (对于多核服务器)

make time

如果check过程中没有报错,则可以放心进行以后的步骤;如果出现报错,也可以尝试进行后续步骤,是否成功就要靠人品了。反正我当时每步貌似都报错了o(╯□╰)o 不过目前看来没有影响。

3.安装scipy等python库

对于python 2.7 可以直接执行:

sudo apt-get install python-numpy

sudo apt-get install python-scipy

sudo apt-get install python-matplotlib

4.验证scipy是否正确安装

打开Terminal,输入:

python

>>>import scipy.io as io

没有报错则安装成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: