并行高斯源代码编译方法

并行高斯源代码编译方法
2009-05-21 15:02
本着学习、研究的态度,经过几昼夜的尝试和努力,终于在集群上成功编译了64位并行版高斯,现将编译过程写出来与大家共享:
1.
安装pgi编译器,这个是高斯的编译器,机器上必须安装。可以从网上下个rpm的安装包,rpm包的安装很容易,在安装包目录下输入:rpm –ivh filename.rpm (filename.rpmrpm包的文件名)
2.
解压高斯源文件和linda文件。假设你的高斯源代码包和linda分别为g03XXX.tar.gzOPTLINDA.TAZ ,以root用户登陆机器(我是为了避免编译时出现权限限制,但得到的文件都属于root用户和组,需要在最后改过来就可以了),将其拷贝到共享目录/share/apps(这个目录是我自己集群的共享目录,在主节点上的真实路径为/export/apps,但共享出去的时候用的是别名/share/apps,一般集群现在都这样??)下面的目录都是以我为例的,安装时请自己改成实际目录
然后用如下命令:
cd /share/apps 
特别注意,后续安装都在该路径下,千万不能是/export/apps,虽然指向的是一样的内容,但因为是以/share/apps共享给子节点的,如果用cd /export/apps,然后再安装编译的话,一些参数和环境变量都会是/export/apps,而子节点只有共享的/share/apps目录,因此编译成功了子节点也会因为找不到路径而无法运行任务的。我一开始没有意识的这个问题,编译成功了但总是无法运行,浪费了好几天时间,后来实在没办法,挨个文件检查,查看环境变量,看到/export/apps才突然意识到。
再接着输命令:
/bin/csh


#
进入
c shell
setenv g03root “/share/apps”

#设置高斯的安装目录为
/share/apps
cd $g03root

#进入高斯的安装目录
cat g03XXX.tar.gz | zcat | tar xvf -
#
解压缩文件,假设在当前目录下得到g03文件夹
cd g03
tar –zxvf 
OPTLINDA.TAZ
#
得到linda7.1-amd64文件夹,文件夹下有一个opteron-linux-I8文件夹(一会要用到),再下一层目录是binlib
3.
建立linda的符号链接linda7.1
ln –s linda-amd64 linda7.1 
#这里非常重要,一定要和正确的linda版本链接。朋友借我测试的高斯源码包下原来还有个linda-ia32的文件夹,而且链接linda7.1也是已经有的,我就没注意多看,编译完成后每次到并行l302.exel的时候就自动退出不算了(我的道路可真曲折啊,55555。。。),我怎么也找不到原因,尝试多次都不成功,又耽搁了两天时间。后来实在没了耐了,到高斯目录下挨个文件查看(命苦啊)。才发现还有个linda-ia32的文件夹,而且linda7.1是和该文件夹链接在一起的。才恍然大悟,集群机器都是intel em64t的,结果装了个32位的linda,自然不行了。然后就删了linda7.1,再重新建立。
同样删除已有文件链接ntsnet flc  clc,然后再建链接
ln –s linda7.1/opteron-linux-I8/bin/ntsnet ntsnet
ln –s linda7.1/opteron-linux-I8/bin/flc flc
ln –s linda7.1/opteron-linux-I8/bin/clc clc

4.
开始安装编译,前面工作做好了以下就简单了
bsd/install
make -f bsd/i386.make clean
make -f gau.makefile
source bsd/g03.login
bsd/bldg03 >& bldg03.log &
等待十几、二十分钟左右,就ok了,你会看到好多exeexel结尾的文件。呵呵,那就对了。
5.
修改文件夹属性
cd /share/apps
chgrp –Rf g03 g03
#更改用户组,我自己集群的高斯用户组为
g03
chown –Rf g03 g03
#更改用户
6.
最后修改用户环境变量
假设用户名为newbie 属于高斯用户组,进如其home目录,修改
cd /home/newbie
vi .bash_profile
在最后添加如下内容(以bsh为例):
g03root="/share/apps


#注意,不能填
/export/apps
GAUSS_SCRDIR=”scrdir” 

#scrdir为临时文件目录,设不设都行,不设置的话可以不要这行如果不设置,默认是提交高斯任务的路径
export g03root GAUSS_SCRDIR #如果上面没设置GAUSS_SCRDIR,这里也不要
. $g03root/g03/bsd/g03.profile
#前面有个点
.
修改保存后输入:
source .bash_profile
搞定!!
可以开始计算了!:)

强调一下:
国内高斯没有源码(这是为什么呢?歧视我们?)所以我答应朋友不把源码给别人。所以信守承诺,没法给大家,算是遗憾吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值