运行 使用 bash 脚本的多核可执行文件

Running an executable over multiple cores using a bash script

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

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

seq 100 | xargs -Iz ./program

不过,我想 运行 在我的机器上(目前在 macbook pro 上有 4 个内核)进行多核处理以加快速度。

我已经尝试通过查看此处的其他答案来使用 gnu parallel,因为这似乎是我想要的并且已经安装了它,但我无法弄清楚 parallel 是如何工作的以及我需要哪些参数以什么顺序。自述文件没有帮助,因为它试图做比我想做的更复杂的事情。

有人能帮帮我吗? 谢谢

因此,为了 运行 ./program 100 次,使用 GNU Parallel,您只需要:

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

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

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