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



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

我想多次运行一个可执行文件,例如

seq 100 | xargs -Iz ./program

然而,我想在我的机器上的多个内核上运行它(目前在macbook pro上,所以有4个内核(,以加快速度。

我试着通过查看这里的其他答案来使用gnu-parallel,因为这似乎是我想要的,并安装了它,但我无法确定并行是如何工作的,以及我需要什么样的参数。非自述文件是有帮助的,因为它试图做比我想做的更复杂的事情。

有人能帮我吗?感谢

因此,为了运行./program100次,使用GNU并行,您只需要:

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

如果你的CPU有8个内核,它将保持8个内核并行运行,直到所有工作完成。如果你想并行运行,比如说12:

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

最新更新