Параллельное GNU и управление ресурсами
Я хотел бы использовать параллельную командную строку gnu, чтобы в основном действовать как простой механизм планирования.
в моем случае у меня есть N графических процессоров в системе, и я хотел бы эффективно поставить в очередь список заданий на этих графических процессорах.
в основном, у меня есть список входов, и я бы наивно запустить
parallel --jobs=4 ./my_script.sh ::: cat list_of_things.txt ::: 0 1 2 3
где./my_script.sh принимает два аргумента, которые я хочу обработать, и графический процессор, на котором я хочу его обработать.
я хочу, чтобы каждая вещь в списке была запущена на одном из графических процессоров (от 0 до 3).
однако, это заканчивается тем, что запускает каждую вещь 4 раза.
1 ответ
Попробуй это:
parallel --jobs=4 ./my_script.sh {%} {} :::: list_of_things.txt