岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
最近由于一些实验要用到线性代数库,因此便要找一个性能优良的,同时有公信力的线性代数库。
很早就知道了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>
这里的arch在上一步make完成的时候已经给了个样例,抄下来就可以了。
然后就是漫长又漫长的编译过程。。。

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

posted on 2007-05-21 21:17 空明流转 阅读(4662) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理