24小时热门版块排行榜    

查看: 2936  |  回复: 37
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

maomao1210

金虫 (正式写手)

[交流] 【讨论】编译器,数学库安装。 已有1人参与

经常遇到编译器的安装,以及各种数学库的安装,还有一些常用软件的安装,最基本的能力。呵呵
如果能有个高手把这个总结一下的话,岂不是很好?让大家都来学习一下。
编译器:pgi, ifort,等等
数学库: blas, lapack, atlas, mkl 等等
常用软件就很多了,分子轨道理论方面的,密度泛函方面的,呵呵
希望能有高手给总结一下。让我们都来学习操作操作。
可惜我是一个linux盲,所以只能在这里呼吁了。呵呵。
为了此个项目,我决定拿出我全部的金币做为资助。
pgi 的安装过程,100 金币
ifort 的安装过程,100金币
mpich 的安装过程,100金币
blas+lapack的安装过程,160金币
atlas的安装过程,100金币
mkl的安装过程,100金币
共660金币。
呵呵。总结后,大家都可以来学习一下。
金币就这么多了,所以常用软件的安装就没有金币贡献了,呵呵,等赚了钱再继续来求贤,呵呵。

[ Last edited by maomao1210 on 2010-1-28 at 10:45 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyz1981

至尊木虫 (文坛精英)

医学物理

在Windows上编译并安装ATLAS BLAS

如何在Windows上编译并安装ATLAS BLAS(上)
最近由于一些实验要用到线性代数库,因此便要找一个性能优良的,同时有公信力的线性代数库。
很早就知道了ATLAS的大名,在跨平台的高性能线性代数数学包中,可能要属ATLAS最有名了。因此从一开始便决定了要用ATLAS BLAS作为CPU的线性代数部分的性能和数学基准。
只是我在shell下面的经验太少,所以编译的时候被狠狠郁闷了一把。

因此这篇文章将以我的血泪史为一些E文和我一样烂的人铺好前进的道路。

ATLAS的版本里面,我推荐ATLAS 3.6.0的版本。不仅仅是因为这个版本是Stable的,更重要的是,3.7的版本安装方式有了不小的变化,一切都需要命令行直接设置,不像360可以依靠它所带的向导可以一步步的完成设置工作。因此安装起来颇为头大。所以以下的例子将以360为准。并且,如果需要支持多核或者多CPU,建议使用ScaLAPACK。

下载好ATLAS 360以后,第一反应自然是看Install.txt。

Install.txt里面说,如果你是在Windows系统下工作的话,需要参考另外一个帮助文档。实际上另外一个帮助文档只告诉你两件事情:

第一是如果你使用cygwin的话,那么一切都as normal,就是和Linux/Unix平台一样;
第二是如果你使用其它的编译器,如msvc或者icc(intel c++ compiler)的话,请参见XXX云云。

尽管理论上说支持MSVC和ICC,但是我觉得想用MSVC的同学还是先忍一忍,因为所有的编译参数都已经不是默认的了,需要重新设置,比方说INCLUDE和LIB,又比方说编译器选项。我又是个比较笨的人,所以就选择了as normal的cygwin。理论上说mingw也可以,但是mingw的sh不太好用,因此我也就没有在mingw上面顺利通过。同时如果你的机器上已经有mingw,记得安装完cygwin以后,把path这个环境变量里面mingw的路径替换成cygwin的路径。

先下载CYGWIN。gcc, g77, gnu make, mingw-gcc, mingw-g77, mingw-runtime这几项是必须要的。建议大家先选择Download without installing,把需要下载的东西准备好,然后在选择第三项从本地install。服务器很多人都推荐kernel.org。实际用来效果也不错。

cygwin下载,安装都OK了以后,先要补丁两个文件:
“Assembler renaming problem for Windows machine“ 和
“String overrun in config for long compiler paths”。
我之所以失败了无数次就是因为把这个给漏掉了。

补丁打好以后,先测试一下make,gcc,g77能不能正常工作。
如果无误以后,就可以动手了。

先启动cygwin,bash进入atlas的安装目录(就是install.txt所在的目录)
然后就是直接运行
make
这一步是全部向导,按照向导的说明完成配置就好了,正常来说,这一步不会出现任何错误。
然后便是运行
make install arch=
这里的arch在上一步make完成的时候已经给了个样例,抄下来就可以了。
然后就是漫长又漫长的编译过程。。。

编译好以后,可以在$atlas/lib/下面见到一些.a文件。对于gcc来说,这些就足够用了,但是对于msvc来说,这一步还不行。我们还需要把.a文件转换成dll+lib的方式,vc才能使用。

如何在Windows上编译并安装ATLAS BLAS(下)
我们在cygwin环境中已经编译完成了.a文件。现在我们要把.a文件转换成动态链接库才能被大部分的Windows下的环境调用。

这一步可以分为两个部分,
第一部分是将.a使用gcc转换成win下面的动态链接库;
第二部分是为了隐式链接,可以使用lib工具再从dll里面生成lib。

本来这是个比较麻烦的事情,不过好在网上已经有现成的脚本了。(点击下载)
有两个地方需要修改,
第一个是libg2c.a需要指向到对应的文件夹。如果大家的cygwin附带的gcc344/g77 344的话,那么只需要找到libg2c的位置就可以了。
我的安装位置是
CLIBPATH=/usr/lib/mingw
mingwclib="/lib/gcc/i686-pc-mingw32/3.4.4/libg2c.a $CLIBPATH/libmoldname.a $CLIBPATH/libmsvcrt.a"
如果是默认安装的话,这个设置应该是正确的。
第二个需要修改的地方在使用lib.exe生成链接库的时候。大家可以把环境设置的批处理文件路径设置正确就可以了。

转自:
http://www.cppblog.com/lingjingqiu/archive/2007/05/21/24559.html
http://www.cppblog.com/lingjingqiu/archive/2007/05/22/24597.html
28楼2010-01-29 14:44:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 38 个回答

亲核取代

铁杆木虫 (知名作家)

-无关讨论,删除-

[ Last edited by nono2009 on 2010-1-29 at 10:11 ]
2楼2010-01-28 11:48:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)

感谢nono2009,余泽成领导的支持。呵呵。非常感谢。
3楼2010-01-28 13:41:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mao_yijian

铁杆木虫 (著名写手)

-无关讨论,删除-

[ Last edited by nono2009 on 2010-1-29 at 10:12 ]
坚持“四项基本原则”
4楼2010-01-28 13:46:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见