MOLPRO并行编译教程

MOLPRO并行编译教程

今天继续为大家奉献上molpro2006.1版本的编译经历,希望对各位坛友有帮助。

编译过程时,建议以管理员root帐号登录,避免很多因为权限所导致的错误。,编译过程中,很多问题都可能是权限原因导致的,稍微注意一下就没问题了。在编译完毕以后再修改权限,让用户可以执行就ok了
准备工作:

1、molpro想要并行,需要Global Arrays(以下简称ga)工具,该工具是免费软件,可以在其主页http://www.emsl.pnl.gov/docs/global/填个申请单,下载最新版本。目前最新的正式版本是4.0.8。

2、编译molpro需要PGI编译器6.0版本以上或intel ifort编译器9.0以上以及cmkl或者mkl函数库。intel ifort和mkl可以在intel网站http://www.intel.com/cd/software/products/apac/zho/download/eval/232977.htm上填写个email地址注册下载免费评估版本。

Global Arrays下载后文件为ga-4-0-8.tgz,在/home下

tar -zxvf ga-4-0-8.tgz

解压得到ga-4-0-8文件夹,编译有多种方式,可以选择tcgmsg或mpi等,需要根据自己集群的具体系统和网络情况来选择,与molpro合用一般情况下推荐tcgmsg,只要按如下编译即可,简单稳定:

cd ga-4-0-8

make TARGET=LINUX64(TARGET= 的选项有很多种选择)
我的CPU和系统都是64位的,所以写的是LINUX64

等几分钟,会提示编译成功,在ga-4-0-8的库文件夹lib下会生成一个LINUX64文件夹,在ga-4-0-8根目录下还有个tcgmsg文件夹,其下ipcv4.0文件夹下的parallel文件为并行执行文件,可以用它执行ga下global/testing/test.x的测试文件:

./home/ga-4-0-8/tcgmsg/ipcv4.0/parallel /home/ga-4-0-8/global/testing/test.x

运行成果,则说明ga编译成功。(好的开始是成功的一半,呵呵)

intel ifort和mkl下载后都是tgz文件,用tar –zxvf 解压后分别得到相应的文件夹,分别运行其目录下的安装文件install,按图示输入相应的选择以及下载时的序列号就ok了,比较简单。

或者如果下载安装的是pgi编译器的rpm安装包的话,直接rpm –ivh xxxxx.rpm安装就ok了

万事俱备,只欠东风了

在集群登录账户根目录下建立.molpro文件夹,注意前边有个点,将molpro2006的license文件token拷贝到该文件夹下

拷贝molpro2006源文件到某个目录,我是拷贝到/home/gauss下的,解压molpro2006源文件的压缩包

tar –zxvf molpro2006.1.tar.gz

cd molpro2006.1

./configure –i8 –mpp –largefiles –em64t –ifort

其中-i8是使用64位积分文件,molpro可以使用更多的活性空间轨道

-mpp是编译并行版本,-largefiles是使用大于2GB的临时文件,-em64t或者-x86_64是CPU类型,如果是amd的cpu,可以使用-amd64,-ifort是使用intel ifort编译器,或也可以使用-pgf来指定使用pgi fortun编译器,我试过都可以。

输入上述命令,敲回车后,屏幕会提示给出刚才安装的mkl或者cmkl函数库的路径,这个时候系统会给定一个默认的路径,应该就是你刚才安装的路径,如果无误,直接再按回车就行(我下次再截图给各位)

此后有两个选项关于lapack函数库位置和ga的并行方式,按默认的就可以,再后就是给出ga的库文件路径:

/home/ga-4-0-8/lib/LINUX64 注意大小写哦,linux操作系统大小写是严格区分的

接着提示输入并行程序位置

/home/ga-4-0-8/tcgmsg/ipcv4.0/parallel

之后按默认设置就可以了

其中提示输入编译生成的运行文件和库文件的存放路径,默认是/usr/local/bin和/usr/local/lib,可以按自己的需求修改,我就修改成/home/gauss/molpro2006.1/bin/molpro-mpp-linux-i8-x86_64和/home/gauss/molpro2006.1/lib

设置就ok了

然后在/home/gauss/molpro2006.1目录下输入

make

依机器情况,等待编译结束,编译完成后在刚才输入的/home/gauss/molpro2006.1/bin/molpro-mpp-linux-i8-x86_64文件夹下会生成相应的执行程序和相关配置文件molpro.rc

vi /home/gauss/molpro2006.1/bin/molpro-mpp-linux-i8-x86_64/molpro.rc 根据自己的具体情况修改临时文件的存放目录(-D –I –W 选项),并行运行使用的内存总数(-G选项)和单个CPU使用的内存(-m选项),注意内存数的单位是word,不是bit,1word=8bit

编辑用户根目录下的.bashrc或者.bash_profile文件,加入下面一行语句:

export PATH=$PATH: /home/gauss/molpro2006.1/bin/molpro-mpp-linux-i8-x86_64(这里输入自己刚才设置的存放执行程序的路径)

然后再用下面的命令让其生效:

source .bashrc 或者 source .bash_profile

注意用root帐号修改molpro2006.1文件夹权限,让用户可以有权限执行。

在用户目录下执行测试文件

Molpro –n 2 try.dat

-n为CPU进程选项,2代表使用2个CPU进程

用top命令看一下进程,有2个molpro进程和一个parallel并行控制进程就对了

单机多进程并行大功告成

但要多机并行,还得设置无密码rsh登录才行,否则会出现连接拒绝而出错。rsh在高斯多机并行的时候也是需要的,当然高斯还可以使用ssh。

设置无密码rsh登录:

1、
检测每台机器上的rsh配置
[root@mzyy01 root]# rpm -aq |grep rsh
rsh-0.17-25
rsh-server-0.17-25
如果没有server,需要安装rsh-server,可以在
http://rpm.pbone.net/index.php3?stat=3&search=rsh-server&srodzaj=3上选择相应操作系统的rsh-server下载安装:
rpm -ivh rsh-server-0.17-25.rpm

2、
修改/etc/xinetd.d/rsh
rexec ,rlogin脚本文件,将其中的disable = yes修改为disable = no

创建/etc/hosts.equiv文件,该文件给出各个计算节点的完整计算机名或者ip地址也行,如果用计算机名,一定要写完整,而且不能用别名,否则不能实现无密码rsh登录,所以最好用ip地址,例如:
10.255.255.234
10.255.255.235
10.255.255.236
10.255.255.237

3、
启动rsh server
/etc/init.d/xinetd restart

Ok,搞定,可以切换到非root帐号,用[ft=,,][ft=,,Times]rsh

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值