计算化学公社

标题: MS for Linux CASTEP模块怎样实现两个节点并行计算呢?是需要修改安装路径下的吗? [打印本页]

作者
Author:
如遇古剑    时间: 2020-8-8 19:46
标题: MS for Linux CASTEP模块怎样实现两个节点并行计算呢?是需要修改安装路径下的吗?
本帖最后由 如遇古剑 于 2021-12-20 14:50 编辑

大家好!我想请教大家一个问题,还请大家指点一下,不胜感激!
是这样的:我向服务器上面安装的MS提交一个计算任务,一个节点计算不了,想用两个节点计算,我在PBS脚本里面写的代码是:#PBS -l nodes=2:ppn=48或者是#PBS -l nodes=node5:ppn=48+node6:ppn=48。这样写代码不会报错,出现的问题是节点5可以load 48个核,而node 6一直都是load 0,这是为什么呢?需要怎样设置才可以实现CASTEP的并行计算呢?是不是需要修改安装路径下的某个文件呢?



作者
Author:
abin    时间: 2020-8-9 14:56
路过问一下, 这个软件的授权限定CPU数目吗?
作者
Author:
如遇古剑    时间: 2020-8-9 15:00
abin 发表于 2020-8-9 14:56
路过问一下, 这个软件的授权限定CPU数目吗?

你好,我觉得应该是不限定CPU数的,老师可以指点一下吗?万分感激。
作者
Author:
pwzhou    时间: 2020-8-9 15:02
需要修改Gateway的相应设置,具体是什么我忘了。
作者
Author:
如遇古剑    时间: 2020-8-9 15:18
pwzhou 发表于 2020-8-9 15:02
需要修改Gateway的相应设置,具体是什么我忘了。

请问一下应该修改哪个文件呢?我搜了小*虫和计算化学公社论坛也没有找到解决方案,可以帮我回想一下吗?万分感谢!
作者
Author:
hxd_yi    时间: 2020-8-9 18:21
在MS自带的帮助文件里查看Installation and Administration > Installing Materials Studio及其相关章节可以设置作业队列相关选项,但是我没找到相关章节直接用RunCASTEP.sh指定结点进行计算。应该可以直接在PBS里用RunCASTEP.sh指定用96个核吧。
作者
Author:
pwzhou    时间: 2020-8-9 19:59
本帖最后由 pwzhou 于 2020-8-9 20:01 编辑
如遇古剑 发表于 2020-8-9 15:18
请问一下应该修改哪个文件呢?我搜了小*虫和计算化学公社论坛也没有找到解决方案,可以帮我回想一下吗? ...

试试下面这个脚本,跨节点是没问题的。如果还有问题,那就是集群并行环境有问题。
  1. #!/bin/sh
  2. #PBS -q parallel
  3. #PBS -l nodes=2:ppn=16
  4. #PBS -j oe

  5. cd $PBS_O_WORKDIR

  6. export MS_INSTALL_ROOT=/home/ms/accelrys/MaterialsStudio7.0
  7. export MPIRUN=$MS_INSTALL_ROOT/bin/mpirun
  8. export CASTEP=$MS_INSTALL_ROOT/bin/castepexe.exe
  9. export I_MPI_ROOT=$MS_INSTALL_ROOT
  10. export PATH=$MS_INSTALL_ROOT/bin:$PATH
  11. export LD_LIBRARY_PATH=$MS_INSTALL_ROOT/lib:$LD_LIBRARY_PATH
  12. export MSI_LIC_PACK_DIR=/home/ms/accelrys/LicensePack
  13. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MSI_LIC_PACK_DIR/linux/lib
  14. export PSPOT_DIR=$MS_INSTALL_ROOT/share/Resources/Quantum/Castep/Potentials


  15. NODES=`cat $PBS_NODEFILE | uniq`
  16. echo "--------------------------------------------------------"
  17. echo "  JOBID: $PBS_JOBID"
  18. echo "  The job was started at `date`"
  19. echo "  The job was running at $NODES."

  20. # Run CASTP Job
  21. NP=`cat $PBS_NODEFILE | wc -l`
  22. $MPIRUN -machinefile $PBS_NODEFILE -np $NP $CASTEP Mn4CaO5-w4

  23. echo "  The job was finished at `date`"
  24. echo "--------------------------------------------------------"
复制代码


作者
Author:
如遇古剑    时间: 2020-8-9 23:41
本帖最后由 如遇古剑 于 2021-12-20 14:52 编辑
pwzhou 发表于 2020-8-9 19:59
试试下面这个脚本,跨节点是没问题的。如果还有问题,那就是集群并行环境有问题。

非常感谢你的回复,我安装的是MS2017R2版本,用单节点计算的代码是这样写的:


作者
Author:
如遇古剑    时间: 2020-8-9 23:45
hxd_yi 发表于 2020-8-9 18:21
在MS自带的帮助文件里查看Installation and Administration > Installing Materials Studio及其相关章节可 ...

非常感谢你的回复!好的,我马上查看一下。
作者
Author:
pwzhou    时间: 2020-8-10 09:56
如遇古剑 发表于 2020-8-9 23:41
非常感谢你的回复,我安装的是MS2017R2版本,用单节点计算的代码是这样写的:

RunCASTEP.sh是MS自带的脚本,会调用很多东西,我给你的脚本就是直接绕过这个脚本,用mpirun运行,使用machinefile指定机器,其实脚本没有多复杂,除了环境变量以外,也就mpirun那一行的命令,剩下的echo就是输出一些信息,可有可无的东西,对运行任务没有任何影响。

MS自带的脚本比较复杂,涉及的东西太多,改起来太复杂。索性全部扔掉,直接用mpirun运行即可。
作者
Author:
pwzhou    时间: 2020-8-10 10:00
如遇古剑 发表于 2020-8-9 23:41
非常感谢你的回复,我安装的是MS2017R2版本,用单节点计算的代码是这样写的:

环境变量大同小异,这个是18.1版本的环境变量,根据实际情况改一下即可。

  1. export MS_INSTALL_ROOT=/apps/BIOVIA/MaterialsStudio18.1
  2. export MPIRUN=$MS_INSTALL_ROOT/bin/mpirun
  3. export CASTEP=$MS_INSTALL_ROOT/bin/castepexe.exe
  4. export I_MPI_ROOT=$MS_INSTALL_ROOT
  5. export PATH=$MS_INSTALL_ROOT/bin:$PATH
  6. export LD_LIBRARY_PATH=$MS_INSTALL_ROOT/lib:$LD_LIBRARY_PATH
  7. export MSI_LIC_PACK_DIR=/apps/BIOVIA/BIOVIA_LicensePack
  8. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MSI_LIC_PACK_DIR/linux/lib
  9. export PSPOT_DIR=$MS_INSTALL_ROOT/share/Resources/Quantum/Castep/Potentials
复制代码

作者
Author:
如遇古剑    时间: 2020-8-10 15:54
pwzhou 发表于 2020-8-10 10:00
环境变量大同小异,这个是18.1版本的环境变量,根据实际情况改一下即可。

感谢感谢!我去试一下。
作者
Author:
1138711019    时间: 2020-8-20 21:20
pwzhou 发表于 2020-8-10 10:00
环境变量大同小异,这个是18.1版本的环境变量,根据实际情况改一下即可。

这个是怎么用的啊?我复制进提交脚本提交显示不对,有没有简单的条用Castepexe.exe的方法啊?
作者
Author:
如遇古剑    时间: 2020-8-20 23:36
本帖最后由 如遇古剑 于 2020-8-23 19:07 编辑
1138711019 发表于 2020-8-20 21:20
这个是怎么用的啊?我复制进提交脚本提交显示不对,有没有简单的条用Castepexe.exe的方法啊?



作者
Author:
如遇古剑    时间: 2020-9-14 19:08
pwzhou 发表于 2020-8-9 19:59
试试下面这个脚本,跨节点是没问题的。如果还有问题,那就是集群并行环境有问题。

老师,您好!请问一下MS跨节点运行出现以下报错怎么解决啊?用的脚本是老师您给的,我修改了一下路径。望老师能够指点一下,不胜感激!
  1. node11:SCM:14bc4:3095a000: 305 us(305 us):  open_hca: device mlx4_0 not found
  2. node11:SCM:14bc5:cc54d000: 437 us(437 us):  open_hca: device mlx4_0 not found
  3. node11:SCM:14bbf:94284000: 681 us(681 us):  open_hca: device mlx4_0 not found
  4. node11:SCM:14bc2:7b7ce000: 747 us(747 us):  open_hca: device mlx4_0 not found
  5. node11:SCM:14bbe:4158b000: 568 us(568 us):  open_hca: device mlx4_0 not found
  6. node11:SCM:14bc4:3095a000: 377 us(377 us):  open_hca: device mlx4_0 not found
  7. node11:SCM:14bc5:cc54d000: 352 us(352 us):  open_hca: device mlx4_0 not found
  8. node11:SCM:14bc1:e11f3000: 246 us(246 us):  open_hca: device mlx4_0 not found
  9. node11:SCM:14bc0:cffce000: 103 us(103 us):  open_hca: device mlx4_0 not found
  10. node11:SCM:14bbf:94284000: 95 us(95 us):  open_hca: device mlx4_0 not found
  11. node11:SCM:14bc2:7b7ce000: 104 us(104 us):  open_hca: device mlx4_0 not found
  12. node11:SCM:14bbe:4158b000: 96 us(96 us):  open_hca: device mlx4_0 not found
  13. node11:CMA:14bc4:3095a000: 37 us(37 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  14. node11:SCM:14bc3:f57f3000: 103 us(103 us):  open_hca: device mlx4_0 not found
  15. node11:CMA:14bc5:cc54d000: 36 us(36 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  16. node11:SCM:14bc1:e11f3000: 96 us(96 us):  open_hca: device mlx4_0 not found
  17. node11:SCM:14bc0:cffce000: 85 us(85 us):  open_hca: device mlx4_0 not found
  18. node11:CMA:14bbf:94284000: 36 us(36 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  19. node11:CMA:14bc2:7b7ce000: 37 us(37 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  20. node11:CMA:14bbe:4158b000: 37 us(37 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  21. node11:CMA:14bc4:3095a000: 38 us(38 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib1 configured?
  22. node11:SCM:14bc3:f57f3000: 92 us(92 us):  open_hca: device mlx4_0 not found
  23. node11:CMA:14bc5:cc54d000: 31 us(31 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib1 configured?
  24. node11:CMA:14bc1:e11f3000: 38 us(38 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  25. node11:CMA:14bc0:cffce000: 36 us(36 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib0 configured?
  26. node11:CMA:14bbf:94284000: 33 us(33 us):  open_hca: getaddr_netdev ERROR:No such device. Is ib1 configured?
复制代码

作者
Author:
abin    时间: 2020-9-14 19:42
如遇古剑 发表于 2020-9-14 19:08
老师,您好!请问一下MS跨节点运行出现以下报错怎么解决啊?用的脚本是老师您给的,我修改了一下路径。望 ...

MPI驱动相关问题。

你用的MPI认为,它找到了IB卡。
系统有IB卡吗?

作者
Author:
pwzhou    时间: 2020-9-14 20:00
如遇古剑 发表于 2020-9-14 19:08
老师,您好!请问一下MS跨节点运行出现以下报错怎么解决啊?用的脚本是老师您给的,我修改了一下路径。望 ...

跨节点并行默认调用IB卡,你这个机器是不是没有Infiniband网络?
作者
Author:
如遇古剑    时间: 2020-9-14 20:26
pwzhou 发表于 2020-9-14 20:00
跨节点并行默认调用IB卡,你这个机器是不是没有Infiniband网络?

感谢老师的回复,我们这个服务器没有IB交换机,是通过千兆网进行通信的,这种情况请改怎么弄呢?
作者
Author:
如遇古剑    时间: 2020-9-14 20:28
abin 发表于 2020-9-14 19:42
MPI驱动相关问题。

你用的MPI认为,它找到了IB卡。

感谢老师的回复,我们的服务器没有IB卡,应该修改哪个文件呢?
作者
Author:
pwzhou    时间: 2020-9-14 20:33
如遇古剑 发表于 2020-9-14 20:26
感谢老师的回复,我们这个服务器没有IB交换机,是通过千兆网进行通信的,这种情况请改怎么弄呢?

在mpirun的后面加入如下参数:
-env I_MPI_FABRICS tcp

没有IB卡跨节点计算未必会比单节点快
作者
Author:
如遇古剑    时间: 2020-9-14 20:58
本帖最后由 如遇古剑 于 2021-12-20 14:48 编辑
pwzhou 发表于 2020-9-14 20:33
在mpirun的后面加入如下参数:
-env I_MPI_FABRICS tcp

非常感谢老师的指点,非常感谢!
我不是为了计算快,主要是因为计算量太大了,一个节点计算不了。非常感谢老师!冒昧再向老师请教一下,就是我安装的MS不生成.check文件是哪里的设置问题呢?
作者
Author:
如遇古剑    时间: 2020-9-15 01:06
本帖最后由 如遇古剑 于 2021-12-20 14:54 编辑
pwzhou 发表于 2020-9-14 20:33
在mpirun的后面加入如下参数:
-env I_MPI_FABRICS tcp

谢谢老师!

作者
Author:
ldx022    时间: 2023-8-18 19:56
pwzhou 发表于 2020-8-10 10:00
环境变量大同小异,这个是18.1版本的环境变量,根据实际情况改一下即可。

请问老师,初次用MS在linux下面交作业,想在linux上在LSF作业集群上运行GULP,如果用多个核并行会出现报错:!! ERROR : second derivatives unavailable in parallel,只能用1个核,请问这个要怎么解决呢?我看老师您的帖子里是直接使用的castepexe.exe可执行文件来绕过RunCASTEP.sh脚本,但是对于GULP来讲并没有GULP这个exe文件,请问这种情况下应该怎么办呢?
作者
Author:
ldx022    时间: 2023-8-18 22:57
pwzhou 发表于 2020-8-10 09:56
RunCASTEP.sh是MS自带的脚本,会调用很多东西,我给你的脚本就是直接绕过这个脚本,用mpirun运行,使用ma ...

朋友你好,模仿你的方式运行GULP.exe,但是不管怎么回事gout文件总是会报错:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! ERROR : could not open library file = catlow                                                                          
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Program terminated by processor     0 in          setlib

我交作业的脚本关于一些变量的设置如下:
  1. export MS_INSTALL_ROOT=/share/apps/Accelrys/MaterialsStudio8.0
  2. export MPIRUN=$MS_INSTALL_ROOT/bin/mpirun
  3. export GULP=$MS_INSTALL_ROOT/bin/gulp.exe
  4. export I_MPI_ROOT=$MS_INSTALL_ROOT
  5. export PATH=$MS_INSTALL_ROOT/bin:$PATH
  6. #export PATH=$MS_INSTALL_ROOT/bin:$PATH:$MS_INSTALL_ROOT/etc/GULP/bin:$MS_INSTALL_ROOT/share/bin
  7. export LD_LIBRARY_PATH=$MS_INSTALL_ROOT/lib:$LD_LIBRARY_PATH
  8. export MSI_LIC_PACK_DIR=/share/apps/Accelrys/LicensePack
  9. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MSI_LIC_PACK_DIR/linux/lib
  10. export LD_LIBRARY_PATH=$MS_INSTALL_ROOT/share/Resources/Nanotech/GULP:$LD_LIBRARY_PATH
  11. export LIBRARY_PATH=$MS_INSTALL_ROOT/share/Resources/Nanotech/GULP:$LIBRARY_PATH
  12. #export PSPOT_DIR=$MS_INSTALL_ROOT/share/Resources/Quantum/Castep/Potentials
  13. export PSPOT_DIR=$MS_INSTALL_ROOT/share/Resources/Nanotech/GULP
  14. #export GULP_LIBRARY_PATH=/share/apps/Accelrys/MaterialsStudio8.0/share/Resources/

  15. #力场的目录/share/apps/Accelrys/MaterialsStudio8.0/share/Resources/Nanotech/GULP
复制代码


执行的命令是:$MPIRUN -machinefile hosts.txt -np $NPROCS $GULP ${INPUT_FILE}

试了很多方式都以失败告终,望大佬解答!感激不尽
作者
Author:
pwzhou    时间: 2023-8-19 13:50
ldx022 发表于 2023-8-18 19:56
请问老师,初次用MS在linux下面交作业,想在linux上在LSF作业集群上运行GULP,如果用多个核并行会出现报 ...

这个是没有办法的,本身程序不支持二阶导数的并行,那就只能用串行了。
作者
Author:
pwzhou    时间: 2023-8-19 13:50
ldx022 发表于 2023-8-18 22:57
朋友你好,模仿你的方式运行GULP.exe,但是不管怎么回事gout文件总是会报错:

!!!!!!!!!!!!!!!!!!!!!! ...

我没用过GULP
作者
Author:
ldx022    时间: 2023-8-19 14:04
pwzhou 发表于 2023-8-19 13:50
这个是没有办法的,本身程序不支持二阶导数的并行,那就只能用串行了。

但是如果再电脑window下面直接run的话,是可以指定核数的
作者
Author:
pwzhou    时间: 2023-8-19 15:15
ldx022 发表于 2023-8-19 14:04
但是如果再电脑window下面直接run的话,是可以指定核数的

指定了也是单核运行的,其他几个核都空着浪费了,程序没有实现的是功能和你提交作业的方式是没有关系的。
作者
Author:
ldx022    时间: 2023-8-19 15:59
pwzhou 发表于 2023-8-19 15:15
指定了也是单核运行的,其他几个核都空着浪费了,程序没有实现的是功能和你提交作业的方式是没有关系的。

好的 谢谢
作者
Author:
小张要努力    时间: 2023-9-25 21:28
楼主,能求一份MS的运行脚本吗?救救孩子吧!我的邮箱1160171521@qq.com.楼里的脚本我用着有问题
作者
Author:
小张要努力    时间: 2023-9-30 09:45
小张要努力 发表于 2023-9-25 21:28
楼主,能求一份MS的运行脚本吗?救救孩子吧!我的邮箱.楼里的脚本我用着有问题

#!/bin/sh -f
#PBS -N job
#PBS -q batch
#PBS -l nodes=1:ppn=24  
#PBS -l walltime=480:00:00
#PBS -j oe
#PBS -V

#上面这些信息根据自己情况改

cd $PBS_O_WORKDIR

seedname="fe100"  #引号里面的是文件名
#cat $PBS_NODEFILE  > machines.LINUX
#export DSD_MachineList=$PBS_O_WORKDIR/machines.LINUX
export DSD_NumProc=24

/home/zxj/BIOVIA/MaterialsStudio19.1/etc/CASTEP/bin/RunCASTEP.sh -np $DSD_NumProc $seedname  #这个需要改一下路径就行

#其他的不需要改
这个是到网上找到了,可以提交,给大家一个参考




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3