我想使用 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 次。