Open jsmedmar opened 3 years ago
That is expected behaviour, it works the same as mstep/estep. The intent is that you would submit one job per index so that they can be performed in parallel.
If you want to spread the load over a known number of jobs you can execute them with the -limit
option, same as mstep/estep. Executing the following 4 commands in parallel will process all flagging indexes regardless of number of split files. Should one fail for run time/memory it will resume from the last incomplete split element.
caveman.pl -p flag -l 4 -i 1
caveman.pl -p flag -l 4 -i 2
caveman.pl -p flag -l 4 -i 3
caveman.pl -p flag -l 4 -i 4
If you want to run them all in a single thread you don't declare -i
, but you still retain the resume functionallity.
If I do this I get the following error: ERROR: based on reference and exclude option index must be between 1 and 1
:
caveman.pl \
-process flag \
-threads 1 \
-index 1 \
-limit 2
...
caveman.pl \
-process flag \
-threads 1 \
-index 2 \
-limit 2
...
In this case only the first command works.
I think these are relevant lines:
It looks like the max amount of indices
for flag is set to 1, so it does not allow to pass more than 1 index. I know if you don't specify -limit
and -index
, it does process it in parallel using multiple threads. But I think submitting separate jobs with -index
is not working at the moment.
Thanks for clarifying the issue. That is a bug. We don't use it like this internally so it's been missed.
if
-index 1
is passed with-p flag
, only one split file is flagged:I think
-p flag
should flag all regardless of-index
since you can't pass multiple-i
anyways