计算化学公社

标题: 多核机器如何一次性同时提交多个单核任务? [打印本页]

作者
Author:
让你变成回忆    时间: 2020-8-15 10:58
标题: 多核机器如何一次性同时提交多个单核任务?
请教大家,现在有上千个任务需要提交,每个采用单个core计算,计算机总共有28个core,应该怎么写脚本让每次只算28个?

作者
Author:
puzhongji    时间: 2020-8-15 11:08
http://bbs.keinsci.com/thread-1433-1-1.html


作者
Author:
snljty    时间: 2020-8-15 12:43
本帖最后由 snljty 于 2021-12-13 20:29 编辑
  1. #! /bin/bash

  2. ntasks=1000
  3. ncores=28

  4. itask=0
  5. icore=0

  6. while [[ $itask -ne $ntasks ]]
  7. do
  8.     cd mytask_$itask
  9.     myprog myargv1 myargv2 &
  10.     cd ..
  11.     sleep 1

  12.     icore=$((icore+1))
  13.     if [[ $icore -eq $ncores ]]
  14.     then
  15.         icore=0
  16.         wait
  17.         sleep 2
  18.     fi
  19.    
  20.     itask=$((itask+1))
  21. done
  22. wait
复制代码
刚发现这个贴,把上次的示例贴上来吧,不一定是很好的方法,但是能用。

作者
Author:
abin    时间: 2020-8-15 22:02
用调度系统。




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