gnu 并行和资源管理

gnu parallel and resource management

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

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

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

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

其中 ./my_script.sh 接受我要处理的两个参数,以及我要处理它的 GPU。

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

然而,这最终只是 运行每件事 4 次。

试试这个:

parallel --jobs=4 ./my_script.sh {%} {} :::: list_of_things.txt