求助高斯脚本同时spark 远程提交任务两个任务,一个结束,另一个也结束了

24小时热门版块排行榜&&&&
当前主题已经存档。
(正式写手)
在线: 1.6小时
虫号: 540726
注册: 专业: 计算化学
【求助】linux下的高斯可以加几个任务
如题,一个比较基础的问题.
[ Last edited by erylingjet on
at 11:08 ]
& 猜你喜欢
已经有24人回复
已经有10人回复
已经有31人回复
已经有15人回复
已经有3人回复
已经有25人回复
已经有34人回复
已经有58人回复
已经有12人回复
已经有21人回复
哭非人生,笑非人生,哭笑不得乃人生!
(著名写手)
在线: 264.5小时
虫号: 592012
注册: 专业: 理论和计算化学管辖:
★ ★ ★ ★ ★ ★ ★ gwdavid(金币+3,VIP+0):谢谢! 2-12 12:45handongxue1011(金币+4,VIP+0):谢谢你的回复! 2-12 15:27
没有试过上限,但3-5个没有问题,可以更多。
多了之后速度会变慢,如果同一时间的任务数把cpu 全部占据了,就没有不要增加了。
可以写一些脚本,当一个任务完成后自动执行下一个任务,达到最大利用资源的目的
(正式写手)
在线: 1.6小时
虫号: 540726
注册: 专业: 计算化学
引用回帖:Originally posted by bay__gulf at
没有试过上限,但3-5个没有问题,可以更多。
多了之后速度会变慢,如果同一时间的任务数把cpu 全部占据了,就没有不要增加了。
可以写一些脚本,当一个任务完成后自动执行下一个任务,达到最大利用资源的目的 可以写一些脚本,当一个任务完成后自动执行下一个任务,达到最大利用资源的目的,是不是得编程呢,可以给我一个这样的脚本吗?
哭非人生,笑非人生,哭笑不得乃人生!
(职业作家)
在线: 1298.3小时
虫号: 183750
注册: 专业: 污染生态化学
★ xuefei06(金币+1,VIP+0):thanks! 2-12 20:17
就是一个批处理,把你所要做的计算的命令一条一条地列在里面即可……
你要告知别人你的操作系统是啥……
(著名写手)
在线: 264.5小时
虫号: 592012
注册: 专业: 理论和计算化学管辖:
★ ★ xuefei06(金币+2,VIP+0):thanks! 2-12 20:17
linux下有一个很简单的脚本
#!/bin/bash
for i in *.gjf
就可以实现批处理,当一个任务错误时候会马上计算下一个。还可以扩展上其他的功能,比如更规范的输出文件名,全部计算结束后关机等,此处从略
(小有名气)
在线: 158.2小时
虫号: 482744
注册: 专业: 理论和计算化学
★ xuefei06(金币+1,VIP+0):thanks! 2-12 20:18
呵呵,也可以装个作业排队系统啊.例如openpbs
差距,差距啊!
(正式写手)
在线: 1.6小时
虫号: 540726
注册: 专业: 计算化学
引用回帖:Originally posted by bay__gulf at
linux下有一个很简单的脚本
#!/bin/bash
for i in *.gjf
就可以实现批处理,当一个任务错误时候会马上计算下一个。还可以扩展上其他的功能,比如更规范的输 ... 谢谢!
${i}.out是在这里把我的文件名都列在其中是吧.
${1,2,3}.out
是这样的吗?
哭非人生,笑非人生,哭笑不得乃人生!
(著名写手)
在线: 264.5小时
虫号: 592012
注册: 专业: 理论和计算化学管辖:
★ ★ xuefei06(金币+2,VIP+0):thanks! 2-13 21:09
i 是一个变量名,${i} 在shell 脚本中表示取变量值的意思。
for i in *.gjf 是指i 分别取当前目录下的gjf 文件。
do& &done 表示循环开始和结束。
这个脚本可以直接用,不需要修改
(正式写手)
在线: 1.6小时
虫号: 540726
注册: 专业: 计算化学
哭非人生,笑非人生,哭笑不得乃人生!
(小有名气)
在线: 21.3小时
虫号: 706292
相关版块跳转
第一性原理
我要订阅楼主
的主题更新
10(金币+2)
小木虫,学术科研互动社区,为中国学术科研免费提供动力
违规贴举报删除请联系客服电话: 邮箱:(全天候) 或者 QQ:
广告投放与宣传请联系 李想 QQ:
QQ:&&邮箱:
Copyright & 2001-, All Rights Reserved. 小木虫 版权所有
浏览器进程
打开微信扫一扫
随时随地聊科研小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&查看话题
求助VASP提交多个任务连续计算脚本
请问VASP有什么脚本能使提交多个任务连续计算吗?(一个计算完了,下一个自动开始计算)或者有什么方法能实现?
可是自己不知道怎么写呢(我这倒是有个高斯的shell脚本,但是应该不能通用吧),我初学者,请具体帮一下吧,谢谢
网上百度找一下shell的基本指令,比如如何读取、写入文件就可以。
说白了就是把你平时读取写入提交命令放在一起
学术必备与600万学术达人在线互动!
扫描下载送金币高斯作业提交pbs脚本示例
PBS是一个批处理作业和计算机系统资源管理软件包。它原本是按照POSIX
1003.2d批处理环境来开发的。这样,它就可以接受批处理作业、shell脚本和控制属性,作业运行前对其储存并保护,然后运行作业,并且把输出转发回提交者。下边的pbs脚本就是运行高斯的一个例子。
#!/bin/bash
#PBS -l nodes=2:ppn=8
#PBS -l walltime=860:00:00
#PBS -j oe
JOBNAME=test397.gjf
echo "We work on:"
cat $PBS_NODEFILE
cd $PBS_O_WORKDIR
# Setup for Gaussian 03:
# =======================
# Make a scratch directory if it doesn't already exist.
GAUSS_SCRDIR=/state/partition1/scratch/$PBS_O_LOGNAME/$PBS_JOBCOOKIE
if [ ! -a $GAUSS_SCRDIR ]; then
& &echo "Scratch directory
$GAUSS_SCRDIR created."
& &mkdir -p $GAUSS_SCRDIR
export GAUSS_SCRDIR
echo "Using $GAUSS_SCRDIR for temporary Gaussian 03 files."
ls -l $GAUSS_SCRDIR
# Define the location where Gaussian was installed and run
# a setup script, g03.profile.
export g03root=/share/apps/gauss
source $g03root/g03/bsd/g03.profile
# Define node list
cat "$PBS_NODEFILE" |uniq &
$GAUSS_SCRDIR/tsnet.nodes
echo "Gaussian03 Linda nodes:"
cat $GAUSS_SCRDIR/tsnet.nodes
export GAUSS_LFLAGS=" -mp 2 -vv -nodefile
$GAUSS_SCRDIR/tsnet.nodes"
echo "PBS nodefile:"
echo "++++++++++++++++++++++++++++++++++++"
cat $PBS_NODEFILE
echo "++++++++++++++++++++++++++++++++++++"
#Run a Gaussian command file
echo "Starting Gaussian run at" `date`
time g03l $JOBNAME
echo "Finished Gaussian run at" `date`
echo "Removing GASUU_SCRDIR:"
echo "$GAUSS_SCRDIR"
rm -Rf $GAUSS_SCRDIR
Linux下运行高斯Gaussian
03的命令只在后台运行并输出为test.log文件:
g03&test.gjf&&
需要在屏幕上显示并输出为test.out文件:
g03&&&test.gjf&|tee&test.out
不在屏幕上显示并输出文件为test.out文件:
g03&&&test.gjf&&test.out&&
在Linux中对当前目录下所有Gaussian gjf输入文件用g03进行批处理
在 Linux中批处理运行Gaussian 03的shell脚本如下:
#!/bin/bash
for&&inf&&in&*.gjf
outf=`echo&${inf}|tr&"gjf"&"out"`
g03&&&&&${inf}&&&&&${outf}
作用:把当前目录下所有的gjf文件用g03 计算,文件扩展名自动改为out。
上述脚本解析
#!/bin/bash
在shell 脚本中,以#开头的行是注释,但在文件最开始的以#!
开头的行指定解析这个脚本所用的程序。此处是bash,还可以是csh,python, tcl等若干。
for&inf&in&*.gjf
循环,变量为inf,变量取值为当前目录下的所有*.gjf 文件。
outf=`echo&${inf}|tr"gjf"&"out"`
${inf}: shell中变量取值时候需要在前面加$, 当变量名为多个字符时候最好用{}
echo ${inf}: 显示inf 的值,此处在每次循环时候为某一个*.gjf 的文件名
echo ${inf}|tr "gjf""out" : 把inf 替换为out,为同windows
下的g03兼容,用out做后缀
outf=`echo ${inf}|tr "gjf""out"` :给outf 赋值
g03&&&${inf}&&${outf}
用g03 计算,从inf 输入,outf 输出
g03进行批处理gjf文件脚本的使用方法
1.将脚本文件另存为batch_g03.sh,然后用chmod命令给它加上可执行权限:
chmod u+x batch_g03.sh
2.把批处理脚本文件放到一个PATH 包含的路径下面(如g03目录下)
3.从终端进入存放gjf输入文件的目录,然后输入“batch_g03.sh
&”即可依次计算改目录下的所有gjf 文件。
4.最后输入 exit命令关闭终端即可。
注:也可以直接batch_g03.sh批处理脚本直接放到gjf文件所在目录里面,然后输入./batch_g03.sh亦可执行批处理。
以下版权声明必须遵守,转载时必须以链接的形式注明如下信息:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。高斯批量计算脚本(unix&shell)
最近的工作中,涉及到较多高斯输入文件的计算,每个文件计算的时间长短不一。有20分钟的,还有一周左右的。更长的当然也有。以前师兄就告诉过,说是我这种情可以用批处理的方法。当时没怎么留意,因为感觉到当时的计算量也不算大。最近,当计算文件多到一定程度的的时候,不得不考虑了一下如何弄这个批处理了。
查阅、搜索各种方法尝试之后,得到下面的文件(实际运行高斯存在问题,就是数个程序连续被添加到任务当中,top查看,很多l***.exe的进程。以下第一部分代码,可以忽略。但是为了保存文章的原生态,还是保留文本吧。能够运行的继续补充在后面。):
#!/bin/bash
# gaussian calculation
# blog .cn/b
*.&&&&&&&&&&&&&&&&&&&&&&&&&&&
# read all input file
com=$i;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# input file name
out=${i:0:-3}&&&&&&&&&&&&&&&&&&&&&
# output file name
&&& echo "The
input file is: "$i;
此处的等待时间属于和g03同时开始计时
$out&&&&&&&&&&&&&&&&&&&&
以上过程运行上存在问题,后只能按照这样的思路来解决。首先读取文件夹当中所有的*.com文件;然后针对不同的输入文件生成运行语句并在运行于巨后面添加“&&”意思为只有语句设定的进程成功运行之后,才能接着运行下一个命令。
下面为实际代码:
#!/bin/bash
# gaussian calculation
# blog .cn/b
cmd=run.&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& # 输出命令行存放的位置
"clear\n"&$&&&&&&&&&&&&&&&&&&&&
# 输出清除屏幕命令到外部文件
*.&&&&&&&&&&&&&&&&&&&&&&
&& # 读取文件格式满足"*.com"的文件
{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& # Start 循环满足上面格式的文件
com=$i;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& # 输入文件名赋值给com
out=${i:0:-3}&&&&&&&&&&&&&&&&&&&
&& # 输出文件名赋值(截掉后三位并添加out)
& printf "g03 &$com|tee
$out&&\n"&&$&&
# 将高斯运行命令(追加)输到外部文件并换行
done&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
循环满足上面格式的文件
"clear\n"&&$&&&&&&&&&&&&&&&&&&&
# (追加)输出清屏命令到外部文件
得到的外部文件(run.sh)如下图所示(仅供参考,不同计算过程有差别)
以上得到的run.sh文件可以按照以下过程运行(计算所用系统:ununtu 12.04LTS 64位):使用方法:
1)将第一个文件赋值,保存文本为fileName.sh
2)将文件放置在计算输入文件的目录
3)命令行切换到计算目录
4)./fileName.sh
4.1)如果提示提示权限不够,chmod fileName.sh
5) 运行完4)中命令后,在相同文件夹得到文件run.sh
6)./run.sh开始一个接一个的计算
<font COLOR="#.1)如果提示提示权限不够,chmod fileName.sh
文件在本地测试运行没有问题,而且好多语法没有仔细去看。当中肯定涉及到很多错误与不足之处,欢迎批评指正。
最后更新:6
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 spark 提交任务到yarn 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信