能否在由gnu parallel出发的多个脚本中调用gnu parallel?
我有一个运行100多个顺序迭代的Python脚本,在每个迭代的某个地方,使用gnu parallel并行计算4个值。现在我想再次使用gnu parallel同时生成多个这样的脚本。这个可行吗? Gnu parallel会利用可用的核心吗?
例如,在内部循环中,如果已经完成了4个值中的2个并且还有2个正在运行,那么单个脚本无法进行下一个迭代直到所有4个值都被计算完。是否会自动使用两个空闲核心来计算不同运行的脚本的结果? 我该如何指定可用的总核心数? 在内部或外部调用parallel时?
此问题显示可以嵌套调用parallel,但是我不确定当我从脚本内部调用嵌套parallel时是否会改变。
PS:Thrashing不是问题,我可以从大型集群使用很多核心。
PS2:gnu-parallel是一款非常棒的工具...谢谢! :)
parallel echo :::: file1 file2
)- 所有组合将在RAM中。使用--bar/--eta
和total_jobs()
,这将在内存中生成所有args(大约每个作业400字节)。--linebuffer
将每个作业读取一整行 - 因此非常长的行(比如1 GB)将增加RAM使用量。--sql*
将在作业完成时在内存中缓冲单个作业的输出。但也许这应该写进man parallel_design
中? - Ole Tange