1

我想使用 gnu 并行命令行基本上充当一个简单的调度机制。

就我而言,我在系统上有 N 个 GPU,我想有效地将​​作业列表排队到这些 GPU 上。

基本上,我有一个输入列表,我会天真地运行

parallel --jobs=4 ./my_script.sh ::: cat list_of_things.txt ::: 0 1 2 3

其中 ./my_script.sh 接受两个 args 我想要处理的东西,以及我想要处理它的 GPU。

我想要的是列表中的每一件事,只在其中一个 gpus 上运行(0 到 3)。

但是,这最终只会运行每件事 4 次。

4

1 回答 1

1

试试这个:

parallel --jobs=4 ./my_script.sh {%} {} :::: list_of_things.txt
于 2018-11-21T21:56:08.673 回答