为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[专题]calypso批量提交lsf任务脚本

2018-02-23 6页 doc 19KB 78阅读

用户头像

is_531654

暂无简介

举报
[专题]calypso批量提交lsf任务脚本[专题]calypso批量提交lsf任务脚本 calypso批量提交lsf任务脚本 集群环境:lsf,vasp,calypso 使用说明:需要在脚本中设置四个变量StrTotal:样本数目 GenTotal:计算多少代 ChkTimeInterval:检测优化任务是否执行完成的时间间隔(以分钟为单位,任务所需时间比较长时,设置大一些比如60) 如有问题或建议,请联系:xiejq@bcc.ac.cn qq:820478367 北京市计算中心 下面是脚本代码: #!/bin/bash #################...
[专题]calypso批量提交lsf任务脚本
[专题]calypso批量提交lsf任务脚本 calypso批量提交lsf任务脚本 集群环境:lsf,vasp,calypso :需要在脚本中设置四个变量StrTotal:样本数目 GenTotal:计算多少代 ChkTimeInterval:检测优化任务是否执行完成的时间间隔(以分钟为单位,任务所需时间比较长时,设置大一些比如60) 如有问题或建议,请联系:xiejq@bcc.ac.cn qq:820478367 北京市计算中心 下面是脚本代码: #!/bin/bash ################################################ # any question or suggestion , please contact to # email: xiejq@bcc.ac.cn # qq: 820478367 ################################################# rm job_log ./calypso.x StrTotal=3 GenTotal=3 LsfName=cluster.lsf ##measure in minutes ChkTimeInterval=1 i=1 j=1 StrTotal=$((StrTotal+1)) GenTotal=$((GenTotal+1)) ChkTimeInterval=$((ChkTimeInterval*60)) PrecisionFlag=0 while [ $i -lt $StrTotal ] do mkdir $i cp vasp KPOINTS POTCAR $i cp $LsfName $i"/"$LsfName$i i=$((i+1)) done while [ $j -lt $GenTotal ] do ####################sub jobs############################## if [ $PrecisionFlag -eq 0 ] then echo "Generation "$j" INCAR_1 computation begin" >> job_log else echo "Generation "$j" INCAR_2 computation begin" >> job_log fi i=1 while [ $i -lt $StrTotal ] do if [ $PrecisionFlag -eq 0 ] then cp INCAR_1 $i"/INCAR" cp "POSCAR_"$i $i"/POSCAR" else cp INCAR_2 $i"/INCAR" fi cd $i bsub $LsfName$i 2>&1 |sed -n '3,1p' | sed 's/>.*//g' | sed 's/^.*> ../job_log cd .. i=$((i+1)) done if [ $PrecisionFlag -eq 0 ] then echo "Generation "$j" INCAR_1 computing......" >> job_log else echo "Generation "$j" INCAR_2 computing......" >> job_log fi #######check status of jobs every once in a while######## AllDoneFlag=0 while [ $AllDoneFlag -lt 1 ] do sleep $ChkTimeInterval if [ $PrecisionFlag -eq 0 ] then LineNum=`sed -n /"Generation "$j" INCAR_1 computation begin"/= job_log` else LineNum=`sed -n /"Generation "$j" INCAR_2 computation begin"/= job_log` fi LineTotal=$((LineNum+StrTotal)) LineNum=$((LineNum+1)) #echo $LineTotal $LineNum >> job_log AllDoneFlag=1 while [ $LineNum -lt $LineTotal ] do num=`sed -n ''$LineNum',1p' job_log` AllDoneFlag=`bjobs $num|awk '{if($1=='$num') print $0}'|awk '{if($3=="RUN"||$3=="PEND") print 0} {if($3=="DONE") print 1} {if($3=="EXIT") print 2}'` #echo $LineNum >> job_log #echo $AllDoneFlag $num >>job_log if [ $AllDoneFlag -eq 0 ] then break elif [ $AllDoneFlag -eq 2 ] then sed '$d' job_log if [ $PrecisionFlag -eq 0 ] then echo "error in Generation "$j" INCAR_1 computation" >> job_log else echo "error in Generation "$j" INCAR_2 computation" >> job_log fi exit 1 fi LineNum=$((LineNum+1)) done done sed '$d' job_log if [ $PrecisionFlag -eq 0 ] then echo "Generation "$j" INCAR_1 computation done successfully" >> job_log PrecisionFlag=1 else echo "Generation "$j" INCAR_2 computation done successfully" >> job_log PrecisionFlag=0 i=1 while [ $i -lt $StrTotal ] do cd $i cp OUTCAR "../OUTCAR_"$i cp CONTCAR "../CONTCAR_"$i cd ../ i=$((i+1)) done ./calypso.x j=$((j+1)) fi done
/
本文档为【[专题]calypso批量提交lsf任务脚本】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索