使用bash脚本在多个内核上运行可执行文件

时间:2020-04-27 13:00:05

标签: bash gnu-parallel

很抱歉,如果这是一个重复的问题,我知道那里有很多类似的问题,但是我真的很难找到一个可行的简单答案。

我想多次运行可执行文件。

seq 100 | xargs -Iz ./program

但是我想在我的机器上的多个内核上运行此程序(目前在macbook pro上是4个内核),以加快处理速度。

我尝试通过查看此处的其他答案来尝试使用gnu parallel,因为这似乎是我想要的并安装了它,但是我无法弄清楚parallel的工作方式以及需要以什么顺序使用的参数。自述文件无济于事,因为它试图做比我想做的复杂得多的事情。

有人可以帮助我吗? 谢谢

1 个答案:

答案 0 :(得分:2)

因此,要运行./program 100次,使用 GNU Parallel ,您所需要做的就是:

parallel -N0 ./program ::: {1..100}

如果您的CPU有8个核心,它将保持8个并行运行,直到完成所有作业。如果要并行运行,请说12:

parallel -j 12 -N0 ./program ::: {1..100}