24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4656  |  回复: 8

oscar5667

新虫 (著名写手)

[求助] 求助一下如何超算中心提交vasp任务已有4人参与

最近在中科院超算中心提交 vasp任务,由于刚接触vasp不久,出现很多问题。
首先当我把INCAR,POSCAR,POTCAR,KPOINTS四个文件放到目录下后,输入超算中心给的命令:
bsub -W 5 -n 1 -q x64_3950dbg -o %J.out -e %J.err mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp,计算没有问题。

然后我想测试一下Si的截断能,我编辑了提交文件ecut.sh如下:
#!/bin/sh
rm WAVECAR
for i  in 150 200  250 300 350 400
do
cat > INCAR <<!
SYSTEM = Diamond Si
ENCUT = $i
ISTART = 0 ; ICHARG = 2
ISMEAR = -5
PREC = Accurate
!
echo "ENCUT = $i eV";   mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f \n", $5}'`
echo $i $E >>comment
done

运行用 sh eut.sh
然后出来这么一些错误提示:
rm: cannot remove `WAVECAR': No such file or directory
ENCUT = 150 eV
--------------------------------------------------------------------------
There are no allocated resources for the application
  /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
that match the requested mapping:
  /home_soft/home/clxue/.openmpi/hosts.

Verify that you have mapped the allocated resources properly using the
--host or --hostfile specification.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
A daemon (pid unknown) died unexpectedly on signal 1  while attempting to
launch so we are aborting.

There may be more information reported by the environment (see above).

This may be because the daemon was unable to find all the needed shared
libraries on the remote node. You may set your LD_LIBRARY_PATH to have the
location of the shared libraries on the remote nodes and this will
automatically be forwarded to the remote nodes.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun.openmpi noticed that the job aborted, but has no info as to the process
that caused that situation.
--------------------------------------------------------------------------
mpirun.openmpi: clean termination accomplished

第一句话说没有WAVECAR文件,无法删除,我觉得也对,毕竟开始计算还没有生成WAVECAR 文件啊?但侯老师的范例都是这么写的,不知道这个怎么回事?
后面应该说vasp路径不对吧,我怀疑是不是echo "ENCUT = $i eV";   mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
有问题啊?

然后还有一个问题就是脚本文件中以下这些#BUSB命令行是不是要加上呢
#!/bin/sh
#BUSB -W 5
#BUSB -a mpijob.openmpi_byslot
#BUSB -q x64_3950dbg
#BUSB -n 2
#BUSB -R "span[ptile=12]"
#BUSB -o out
#BUSB -e err

rm WAVECAR
for i in 150 200 250 300 350 400
do
cat > INCAR <<!
System = diamond Si
ENCUT = $i
ISTART = 0
ICHARG = 2
ISMEAR = -5
PREC = Accurate
!
echo "ENCUT= $ i eV" ; mpijob.openmpi_byslot/home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f\n",$5}'`
echo $i $E >> comment
done
但运行之后还是不对。

由于刚接触vasp,也没有学过脚本,希望高手帮忙看看我的脚本错在哪里,具体应该怎么写,这两天光折腾这个东西了,呵呵!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

...我之所以坚定地相信未来,是我相信未来人们的眼睛;她有拨开历史风尘的睫毛,她有看透岁月篇章的瞳孔...
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

snow119c

金虫 (初入文坛)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
oscar5667: 金币+2, 恩,我再试试看。。。 2014-08-02 13:14:10
liliangfang: 金币+1, 谢谢交流 2014-08-05 06:24:24
本人不才 学的也不多 希望其他人也一同探讨

1 rm wavecar 这个就不要了吧 老师给的范例作为参考 不应该拘泥 既然我们没有wavecar 那就把这句话注释掉吧
2 你的脚本第一行说了是bash 你要用echo $SHELL 看看你是不是也是bash 要是tcsh或者其他的 你需要先转换一下
3 用which vasp看路径 看看真正的vasp在哪里 你的module是否成功加载了 要是没加载 你调用也不好使
4 $BSUB 那几行都要加上
5 你说了目录里有incar 你的脚本里又cat incar 貌似有点重复啊 要不就用脚本里的 要不就把脚本里的删掉
2楼2014-08-02 00:48:35
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

oscar5667

新虫 (著名写手)

引用回帖:
2楼: Originally posted by snow119c at 2014-08-02 00:48:35
本人不才 学的也不多 希望其他人也一同探讨

1 rm wavecar 这个就不要了吧 老师给的范例作为参考 不应该拘泥 既然我们没有wavecar 那就把这句话注释掉吧
2 你的脚本第一行说了是bash 你要用echo $SHELL 看看你是 ...

我又试了一下
1、rm wavecar 放那其实也没事,没有也能运行
2、用echo $SHELL看了一下,确实是bash
3、vasp的路径是超算中心给的
bsub -W 5 -n 1 -q x64_3950dbg -o %J.out -e %J.err mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp 给了这一句中路径应该就是/home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp,但不明白mpijob.openmpi_byslot 是啥意思。其中 -W 5 -n 1 -q x64_3950dbg -o %J.out -e %J.err 我觉得应该是写脚本的时候这么写吧:
#BUSB -W 5
#BUSB -q x64_3950dbg
#BUSB -n 2
#BUSB -o out
#BUSB -e err

但我把脚本写成这样的时候

#BUSB -W 5
#BUSB -q x64_3950dbg
#BUSB -n 2
#BUSB -o out
#BUSB -e err

rm WAVECAR
for i in 150
do
cat > INCAR <<!
System = diamond Si
ENCUT = $i
ISTART = 0
ICHARG = 2
ISMEAR = -5
PREC = Accurate
!
echo "ENCUT= $ i eV" ; mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f\n",$5}'`
echo $i $E >> comment
done
运行之后它提出三个错误
1、找不到wavecar
2、/home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp: error while loading shared libraries: libmpi_f90.so.0: cannot open shared object file: No such file or directory
3、grep: OUTCAR: No such file or directory这句话说明vasp没有成功运行,还没有生成outcar文件
...我之所以坚定地相信未来,是我相信未来人们的眼睛;她有拨开历史风尘的睫毛,她有看透岁月篇章的瞳孔...
3楼2014-08-02 15:12:39
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

oscar5667

新虫 (著名写手)

刚才突然想起把单次运行的成功的命令直接放到循环里去:
rm WAVECAR
for i in 400 450 500 550 600 650 700 750 800
do
cat > INCAR << !
SYSTEM=job_name
ENCUT=$i
ISTART=0; ICHARG=2
ISMEAR=-5
GGA=91
VOSKOWN=1
PREC=High
!
echo "ENCUT= $i eV"; time bsub -W 5 -n 1 -q x64_3950dbg -o %J.out -e %J.err mpijob.openmpi_byslot /home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f\n",$5}'`
echo $i $E >> comment
done

提交之后发现可以向服务器连续提交9个不同截断能的任务,但问题是每个任务提交完之后outcar还没有那么快生成,grep命令就报错说找不到outcar,所以最终还是不能得到正确的comment。
...我之所以坚定地相信未来,是我相信未来人们的眼睛;她有拨开历史风尘的睫毛,她有看透岁月篇章的瞳孔...
4楼2014-08-02 15:52:46
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

KalaShayminS

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★
liliangfang: 金币+1, 谢谢交流 2014-08-05 06:24:33
oscar5667: 金币+1, ★★★很有帮助 2014-08-05 20:14:05
----------------------------------
运行之后它提出三个错误
1、找不到wavecar
2、/home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp: error while loading shared libraries: libmpi_f90.so.0: cannot open shared object file: No such file or directory
3、grep: OUTCAR: No such file or directory这句话说明vasp没有成功运行,还没有生成outcar文件
------------------------------------
我觉得你写的bsub脚本有问题。确定前面定义变量用的是BUSB?运行命令写的是/这个请问问管理员确认。
错误1没有问题,是为了保险放着的
错误2是bsub变量有问题
错误3是错误2的后果

BSUB的变量写对以后应该就没问题了。
5楼2014-08-04 22:20:07
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

mingtao

金虫 (小有名气)

【答案】应助回帖


oscar5667: 金币+1 2014-08-05 20:14:37
这是机械套用的后果。原始的脚本没有使用任务调度器,是针对不同的截断能,等待vasp运行完毕之后,直接读取能量值的。可是你现在使用bsub任务调度器,任务调度器一下就把任务提交了就返回你的shell脚本,不出错才有鬼了。你应该修改你的shell脚本,使用不同的目录提交vasp目录。等所有的任务执行完毕再读取对应的能量值。

脑袋要活啊。
6楼2014-08-05 08:18:30
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

llhpc01

新虫 (初入文坛)

本帖内容被屏蔽

7楼2014-08-05 16:07:28
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

oscar5667

新虫 (著名写手)

引用回帖:
5楼: Originally posted by KalaShayminS at 2014-08-04 22:20:07
----------------------------------
运行之后它提出三个错误
1、找不到wavecar
2、/home_soft/soft/x86_64/apps/CompChem/VASP-5.2/vasp: error while loading shared libraries: libmpi_f90.so.0: cannot open ...

多谢关注,问题已经解决了!
...我之所以坚定地相信未来,是我相信未来人们的眼睛;她有拨开历史风尘的睫毛,她有看透岁月篇章的瞳孔...
8楼2014-08-05 20:13:53
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

oscar5667

新虫 (著名写手)

引用回帖:
6楼: Originally posted by mingtao at 2014-08-05 08:18:30
这是机械套用的后果。原始的脚本没有使用任务调度器,是针对不同的截断能,等待vasp运行完毕之后,直接读取能量值的。可是你现在使用bsub任务调度器,任务调度器一下就把任务提交了就返回你的shell脚本,不出错才有 ...

多谢关注,问题已经解决了!
...我之所以坚定地相信未来,是我相信未来人们的眼睛;她有拨开历史风尘的睫毛,她有看透岁月篇章的瞳孔...
9楼2014-08-05 20:14:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 oscar5667 的主题更新
信息提示
请填处理意见