计算化学公社

 找回密码 Forget password
 注册 Register
Views: 12218|回复 Reply: 7
打印 Print 上一主题 Last thread 下一主题 Next thread

[任务提交/队列管理] 利用pbs批量提交作业的方法

[复制链接 Copy URL]

44

帖子

0

威望

392

eV
积分
436

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
目前作业是利用pbs形式提交的
#!/bin/bash
#PBS -N Gauss
#PBS -l nodes=1:ppn=16
##PBS -l walltime=240:00:00
#PBS -j oe
#PBS -V

#Please give the name of the INPUT_FILE, such as test.com  or ONLY test. Both of them can work.
INPUT_FILE=xxx.com

#----> enter the working directory <----
cd $PBS_O_WORKDIR
echo This job begins at: `date`

..........
.........
但是每次都需要替换文件名,
看了一个帖子,尝试了一下以下方法:
#!/bin/bash
counts=$(ls -l *.com|wc -l)

ls -l *.com \
| awk '{print $NF}'\
| sed 's/.com//g' \
| while read each_file
do
   sed -i -r "/^\s*INPUT_FILE=/c INPUT_FILE=$each_file" g09E01.pbs.sh
   qsub g09E01.pbs.sh &
   a=$((a+1))
   [[ $a -eq $counts ]]&&break
   while((1))
   do
        thread=(ps -ef|grep 'qsub g09E01.pbs.sh'|grep -v grep|wc -l)
        [[ $thread -lt 5 ]]&&break||sleep 1
   done
   sleep 1
done

但也不成功,求问大神有什么好方法能一次同时提交6个或多个作业,然后少于一定数目自动补上提交作业?

1

帖子

0

威望

11

eV
积分
12

Level 1 能力者

8#
发表于 Post on 2019-6-11 10:30:12 | 只看该作者 Only view this author
请问楼主如何解决的

44

帖子

0

威望

392

eV
积分
436

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2017-10-5 21:07:41 | 只看该作者 Only view this author
谢谢各位老师,问题已解决。

30

帖子

0

威望

584

eV
积分
614

Level 4 (黑子)

6#
发表于 Post on 2017-9-29 13:16:31 | 只看该作者 Only view this author
本帖最后由 etoac 于 2021-4-14 21:03 编辑

已删除

2302

帖子

1

威望

5481

eV
积分
7803

Level 6 (一方通行)

5#
发表于 Post on 2017-9-29 11:17:58 | 只看该作者 Only view this author
cd $PBS_O_WORKDIR
ls *com > joblist
for INPUT_FILE in `cat joblist`
do
g09 $INPUT_FILE &
done

或者g09 $INPUT_FILE &  这句修改为你脚本中的执行高斯的行。

这个会提交一堆。 都交给PBS管理。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

81

帖子

0

威望

1024

eV
积分
1105

Level 4 (黑子)

4#
发表于 Post on 2017-9-28 16:13:57 | 只看该作者 Only view this author
thread=(ps -ef|grep 'qsub g09E01.pbs.sh'|grep -v grep|wc -l)
这一行并不能实现你的要求。
提交作业是一个很快速的过程,qsub g09E01.pbs.sh命令将在极短的时间内完成,猜想你的要求是 查看队列中存在的作业数,建议用qstat命令

1102

帖子

18

威望

6643

eV
积分
8105

Level 6 (一方通行)

計算化学の社畜

3#
发表于 Post on 2017-9-28 08:57:55 | 只看该作者 Only view this author
类似这样?

  1. #!/bin/bash
  2. for i in `ls -F |grep /`
  3. do
  4. cd $i
  5. for inf in *.pbs
  6. do
  7. echo Running ${inf} ...
  8. time qsub < ${inf}
  9. echo ${inf} is finished
  10. echo
  11. done
  12. cd ..
  13. done
复制代码
Stand on the shoulders of giants

6

帖子

0

威望

374

eV
积分
380

Level 3 能力者

2#
发表于 Post on 2017-9-28 00:41:36 | 只看该作者 Only view this author
thread=(qstat|grep $USER|wc -l)  ?

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 13:22 , Processed in 0.178693 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list