栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python SciPy是否需要BLAS?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python SciPy是否需要BLAS?

该SciPy的网页用来提供构建和安装说明,但说明现在依靠操作系统二进制分发。要在没有预编译所需库软件包的操作系统上构建SciPy(和NumPy),必须先构建然后静态链接到Fortran库BLAS和LAPACK:

mkdir -p ~/src/cd ~/src/wget http://www.netlib.org/blas/blas.tgztar xzf blas.tgzcd BLAS-*## NOTE: The selected Fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.## For GNU compiler on 32-bit systems:#g77 -O2 -fno-second-underscore -c *.f          # with g77#gfortran -O2 -std=legacy -fno-second-underscore -c *.f    # with gfortran## OR for GNU compiler on 64-bit systems:#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f          # with g77gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f    # with gfortran## OR for Intel compiler:#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f# Continue below irrespective of compiler:ar r libfblas.a *.oranlib libfblas.arm -rf *.oexport BLAS=~/src/BLAS-*/libfblas.a

仅执行五个g77 / gfortran /
ifort命令之一。除了我使用的gfortran之外,我已经全部注释掉了。随后的LAPACK安装需要一个Fortran
90
编译器,并且由于两个安装都应使用相同的Fortran编译器,因此g77不应用于BLAS。

接下来,您需要安装LAPACK东西。SciPy网页的说明在这里也对我有所帮助,但我必须对其进行修改以适合我的环境:

mkdir -p ~/srccd ~/src/wget http://www.netlib.org/lapack/lapack.tgztar xzf lapack.tgzcd lapack-*/cp INSTALL/make.inc.gfortran make.inc          # On Linux with lapack-3.2.1 or newermake lapacklibmake cleanexport LAPACK=~/src/lapack-*/liblapack.a

2015年9月3日更新:今天验证了一些评论(感谢所有):运行之前,

makelapacklib
编辑
make.inc
文件
-fPIC
并向
OPTS
NOOPT
设置添加选项。如果您使用的是64位体系结构或要编译为64位体系结构,请同时添加
-m64
。重要的是,在将这些选项设置为相同的值的情况下编译BLAS和LAPACK。如果您忘记了,
-fPIC
SciPy实际上会给您有关符号丢失的错误,并建议您使用此开关。
make.inc
我的设置中的特定部分如下所示:

FORTRAN  = gfortran OPTS     = -O2 -frecursive -fPIC -m64DRVOPTS  = $(OPTS)NOOPT    = -O0 -frecursive -fPIC -m64LOADER   = gfortran

在旧机器(例如RedHat 5)上,gfortran可能安装在旧版本(例如4.1.2)中,并且不理解option

-frecursive
make.inc
在这种情况下,只需将其从文件中删除即可。

Makefile的lapack测试目标在我的设置中失败,因为它找不到blas库。如果您周全,则可以暂时将blas库移至指定位置以测试lapack。我是一个懒惰的人,所以我相信开发人员可以使其工作并仅在SciPy中进行验证。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号