GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.
Если вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.
GNU Parallel гарантирует, что вывод команд получается таким же, каким был бы при последовательном запуске. Это позволяет использовать вывод GNU Parallel в качестве ввода для других программ.
Новое в этом выпуске:
- улучшен парсер
/proc/cpuinfo
; - упрощено планирование выполнения задач по расписанию;
- Мастерская MPGI: распараллеливание выполнения с помощью массивов задач и GNU Parallel;
- CONCOCT использует GNU Parallel;
- использующим SLURM;
- лайфхак для работы, о котором вы быстро забудете;
- исправления ошибок и обновления мануала.
>>> Источник