计算化学公社

标题: LSF任务管理系统中的$PBS_O_WORKDIR [打印本页]

作者
Author:
小书童    时间: 2018-10-14 10:11
标题: LSF任务管理系统中的$PBS_O_WORKDIR
在PBS作业管理系统中可以通过cd $PBS_O_WORKDIR进入工作目录,LSF中对应于PBS的$PBS_O_WORKDIR变量的是什么呢?求懂得的大神指点下。

作者
Author:
bluewhale    时间: 2018-10-14 10:35
$LS_SUBCWD
作者
Author:
小书童    时间: 2018-10-15 08:31
bluewhale 发表于 2018-10-14 10:35
$LS_SUBCWD

您好,谢谢您的回复。我想用这个$LS_SUBCWD变量,实现LSF串行多个任务,就是一个优化的任务分为三步走,编写了如下脚本,但是发现不行。您能给指点一下吗? 多谢多谢!
#!/bin/sh
#BSUB -q smallib
#BSUB -n 24
#BSUB -o %J.log
#BSUB -e %J.err
#BSUB -J vasp3to1

cd $LS_SUBCWD
# For Rough optimization
mpirun /opt/vasp/5.4.4/bin/vasp_std > out.log

# For Medium optimization
cp CONTCAR POSCAR
mv INCAR-zh INCAR
mpirun /opt/vasp/5.4.4/bin/vasp_std > out.log

# For Fine optimization
cp CONTCAR POSCAR
mv INCAR-xi INCAR
mpirun /opt/vasp/5.4.4/bin/vasp_std > out.log
作者
Author:
abin    时间: 2018-10-15 21:47
小书童 发表于 2018-10-15 08:31
您好,谢谢您的回复。我想用这个$LS_SUBCWD变量,实现LSF串行多个任务,就是一个优化的任务分为三步走, ...

刚刚接触LSF管理系统, 莫名其妙中。

我自己使用:
CURDIR=$PWD
cd $CURDIR

但是比较恶心的是,
居然只能使用bsub < XXXX.lsf 采工作。
采用bsub XXXX.lsf 也提示作业提交了。 但是一会儿,大概3s就挂了, 没有任何输出。

作者
Author:
xyy    时间: 2018-10-16 16:15
小书童 发表于 2018-10-15 08:31
您好,谢谢您的回复。我想用这个$LS_SUBCWD变量,实现LSF串行多个任务,就是一个优化的任务分为三步走, ...

是不是
cd $SLURM_SUBMIT_DIR
作者
Author:
bluewhale    时间: 2018-10-16 19:17
本帖最后由 bluewhale 于 2018-10-16 19:23 编辑

三个任务有没有先后关联?如果是互相无关的,可用job array功能,一次搞定N个计算。

看你任务是有相互依赖的,按下写个脚本进行处理:
.....

echo "#BSUB -J 'Job${jn}A'" > $A_LSF
echo "#BSUB -W 1000:00"    >> $A_LSF
echo "#BSUB -n 12"         >> $A_LSF
echo "#BSUB -q normal"     >> $A_LSF
echo "#BSUB -e %J.err"     >> $A_LSF
echo "#BSUB -o %J.out"     >> $A_LSF
echo "" >> $A_LSF
echo "cp relax.incar INCAR" >> $A_LSF
echo "cp origin.poscar POSCAR" >> $A_LSF
...
echo "" >> $A_LSF
echo "mv OUTCAR relax.out" >> $A_LSF
echo "echo '$Message.relax .................... OK'" >> $A_LSF
bsub < $A_LSF
# ------------------------------------------------------------
echo "#BSUB -J 'Job${jn}B'" > $B_LSF
echo "#BSUB -W 1000:00" >> $B_LSF
echo "#BSUB -n 12"      >> $B_LSF
echo "#BSUB -q normal"  >> $B_LSF
echo "#BSUB -e %J.err"  >> $B_LSF
echo "#BSUB -o %J.out"  >> $B_LSF
echo "#BSUB -w 'done(Job${jn}A)'" >> $B_LSF          # !!!!
echo "" >> $B_LSF
echo "cp CONTCAR POSCAR" >> $B_LSF
...
echo "" >> $B_LSF
echo "mv OUTCAR relax2.out" >> $B_LSF
echo "echo '$Message.relax2 .................... OK'" >> $B_LSF
bsub < $B_LSF
.......



作者
Author:
xyy    时间: 2018-10-16 19:25
小书童 发表于 2018-10-15 08:31
您好,谢谢您的回复。我想用这个$LS_SUBCWD变量,实现LSF串行多个任务,就是一个优化的任务分为三步走, ...

另外 为啥不是   >> out.log  




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