Follow-up Comment #8, bug #38092 (project findutils): > TOT_RANKS=# some decimal value > ARGS_PER_RANK=# another decimal value > xargs --process_slot_var=RANK -P $TOT_RANKS -n $ARGS_PER_RANK > sh -c 'mpirun -n $RANK yourcommand "$@"' dollarzero
The above doesn't work in practice because an MPI parallel program has to be started by mpirun or equivalent (at least in all systems that I've used [Cray XT4&5, IBM Blue Gene P, etc.]). Furthermore since the environment given to each copy of a program started by MPI is still identical xargs cannot know which files a particular instance should process without calling MPI_Comm_rank(...). At least I don't see how else that could be accomplished portably and reliably (i.e. without looking at node hostnames or such, which might not even exist). I cannot test the above commands but I suspect they also wouldn't work because the -n given to mpirun specifies the total number of processes to start, not a quantity going from 0 to n - 1. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?38092> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/