Мне нужно обработать большое количество файлов данных с помощью gnuplot для создания изображений, которые собираются в фильме. Поскольку процедура занимает много времени, я хотел бы создавать кадры параллельно, и небольшое сообщение должно время от времени печататься, чтобы информировать пользователя о ходе.Обертка Gnuplot для параллельной обработки
Я попробовал Makefile подход:
SOURCES=$(wildcard ./*.in)
OBJECTS=$(SOURCES:.in=.out)
all: $(OBJECTS)
%.out: %.in
./worker.sh $< [email protected]
где worker.sh является:
gnuplot << EOF
set some_gnuplot_options
set output "$2"
plot "$1"
EOF
Но:
- Я не могу печатать сообщения о прогрессе,
- I Would предпочитают одно файловое решение (мне не удалось получить содержимое
worker.sh
непосредственно в make-файле), - Это решение представляет собой довольно много накладных расходов по отношению к одному скрипту gnuplot, в котором содержатся все инструкции.
Возможно, окончательное решение было бы иметь хороший интерфейс C++ для gnuplot, но я не очень хорошо знаю существующие, и я не уверен, как это сделать. Любая другая идея? Пожалуйста, избегайте появления новых или не столь распространенных программ, таких как GNU, поскольку я не могу их использовать на некоторых машинах, которые я использую.
Если ваша причина не иметь GNU Параллельно на вашем компьютере не распространяется http://oletange.blogspot.dk/2013/04/why-not-install-gnu-parallel.html, можете ли вы быть любезны, чтобы уточнить причина? –
Потому что мне не разрешено устанавливать программное обеспечение. И я хотел бы свести к минимуму количество сценариев, которые будут переноситься, особенно в 3-й части. И я не думаю, что это может привести к повышению производительности в отношении makefile (все равно приходится загружать gnuplot каждый раз) И, наконец, я не очень хорошо это знаю. – DarioP