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

问题描述 投票:2回答:1

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

我想多次运行一个可执行文件,例如:"我的电脑"。

seq 100 | xargs -Iz ./program

然而,我想在我的机器上的多个核心上运行这个程序(目前在Macbook Pro上,所以4个核心),以加快事情的进展。

我试着使用gnu并行,看了这里的其他答案,因为这似乎是我想要的,而且我已经安装了它,但我无法理解并行是如何工作的,以及我需要什么顺序的参数。所有的readme都没有帮助,因为它想做的事情比我想要的要复杂得多。

谁能帮帮我?

bash gnu-parallel
1个回答
2
投票

所以,为了运行 ./program 100次,有 GNU Parallel 你所需要的是。

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

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

parallel -j 12 -N0 ./program ::: {1..100}
© www.soinside.com 2019 - 2024. All rights reserved.