Gnu Parallel:嵌套并行

Neh*_*kar 9 parallel-processing gnu-parallel

是否可以在脚本的多次运行中调用gnu parallel,而这些脚本又由gnu parallel生成?

我有一个运行100次连续迭代的python脚本,并且在每次迭代中的某个地方,并行计算4个值(使用gnu parallel).现在我想同时使用gnu parallel生成多个这样的脚本.这可能吗?gnu parallel会不会好好利用可用内核?

例如,如果在内部循环中,4个值中有2个已完成且2个正在运行,那么在计算所有4个值之前,单个脚本无法继续下一次迭代.这两个免费核心是否会用于自动计算不同脚本运行的结果?如何指定可用的核心总数?在内部呼叫并行或外部呼叫?

这个问题表明可以将调用嵌套到并行中,但是当我从脚本内部调用嵌套并行时,我不确定这是否会发生变化.

PS:Thrashing不是一个问题,我可以使用大型集群中的大量核心.

PS2:gnu-parallel是一款非常棒的工具......谢谢!:)

Ole*_*nge 12

是.GNU Parallel经过设计(并经过大量测试),可以直接或通过脚本从GNU Parallel调用.

如果直接调用,您可能需要更改-I.第二个{}在这里意味着什么(它是指第一个还是第二个并行?):

seq 10 | parallel 'seq {} | parallel echo {}'
Run Code Online (Sandbox Code Playgroud)

这里很清楚:

seq 10 | parallel 'seq {} | parallel -I // echo //'
seq 10 | parallel 'seq {} | parallel -I // echo {} //'
Run Code Online (Sandbox Code Playgroud)

PS很高兴听到你发现GNU Parallel很棒.如果你喜欢GNU Parallel:

  • 浏览教程(http://www.gnu.org/software/parallel/parallel_tutorial.html)
  • 在您当地的用户组/团队/同事进行演示
  • 在Reddit/Diaspora*/forums/blogs/Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists上发布介绍视频和教程
  • 为您喜爱的博客或杂志申请或撰写评论
  • 邀请我参加你的下一次会议

如果您使用GNU Parallel进行研究:

  • 请在您的出版物中引用GNU Parallel(使用--bibtex)

如果GNU Parallel为您省钱: