GNU Parallel - несколько команд - PullRequest
       40

GNU Parallel - несколько команд

2 голосов
/ 28 апреля 2020

Я хотел бы запустить несколько длительных процессов на нескольких входах. Например:

solver_a problem_1
solver_b problem_1
...
solver_b problem_18
solver_c problem_18

Я знаю, как запустить несколько аргументов для одной и той же команды - это основной вариант использования. Это больше похоже на противоположный случай: несколько команд для одного и того же аргумента .

Конечно, вы всегда можете запустить несколько параллельных экземпляров - но тогда эти экземпляры включены одни и те же машины или один и тот же пользователь знают друг друга при планировании ресурсов?

1 Ответ

2 голосов
/ 28 апреля 2020

Я думаю, вы хотите, чтобы GNU Parallel выполнял каждую из 18 задач через каждый из 3 решателей:

parallel echo solver_{1} problem_{2} ::: {a..c} ::: {1..18}

Пример вывода

solver_a problem_1
solver_a problem_2
solver_a problem_3
solver_a problem_4
...
...
solver_c problem_16
solver_c problem_17
solver_c problem_18

Или, изменив другой параметр быстрее:

parallel echo solver_{2} problem_{1} ::: {1..18} ::: {a..c}
...