ole_tange
Joined 13 years ago
Joined 13 years ago
Also see this if you have a system without GNU Parallel: http://oletange.blogspot.dk/2013/04/why-not-install-gnu-para...
Try --pipe-part instead:
parallel -a ngrams.tsv --pipe-part --block -1 awk -f map.awk |
awk -f reduce.awkFor exactly this reason, GNU Parallel has the option --minversion.
So in your script you put:
parallel --minversion 20140722 || exit
if the rest of your script depends on functionality only present from version 20140722.
If the parallel in the $PATH is not GNU Parallel it will fail (and thus exit). If it _is_ GNU Parallel it will fail if the version is < 20140722 and succeed otherwise.
Except that is not entirely true: For instance according to the author the '{= perl expression =}' will probably never be supported.
(Full disclosure: I am the author of GNU Parallel. I fully support building other parallelizing tools, but to avoid user confusion, I would recommend calling them something other than 'parallel' if they are not actually compatible with GNU Parallel).
But the main problem with rust-parallel is that it is not compatible with GNU Parallel (and according to the author, it probably never will be 100% compatible). If you use rust-parallel to walk through GNU Parallel's tutorial (man parallel_tutorial) you will see it fails very quickly.
(Full disclosure: I am the author of GNU Parallel. I fully support building other parallelizing tools, but to avoid user confusion, I would recommend calling them something other than 'parallel' if they are not actually compatible with GNU Parallel. History has shown that using the same name will lead to a lot of unnecessary grief: e.g. GNU Parallel vs. Parallel from moreutils).
Thanks for input.
(The trick to find the examples: LESS=+/EXAMPLE: man parallel )
The syntax difference is small for simple tasks.
Spoiler: You can have GNU Parallel kick the machines if the fail, and rerun the job on another machine.