On Apr 11, 2011, at 11:33 PM, Kevin.Buckley_at_[hidden] wrote:
>>> #$ -cwd
>>> #$ -j y
>>> #$ -S /bin/bash
>>> #$ -q all.q
>>> #$ -pe orte 18
>>> /home/jason/openmpi-1.4.3-install/bin/mpirun -np $NSLOTS myprog
>> If you have SGE integration, you should not specify the number
>> of slots requested on the command-line. Open MPI will speak
>> directly to SGE (or vice versa, to get this information.
> I've always thought that the tight integration merely removed the
> need for a hostfile, or equivalent, to be specified?
That is correct. -np specifies the number of processes to be run, not the number of slots in the allocation. The latter is determined by the SGE integration.
In this case, I believe the author's intent was that the two be the same, which is why I let it go without comment. However, if that was the intent, he could have left the "-np" argument off entirely - with no number of processes specified, mpirun will simply assign a process to each allocated slot.
> I've been basing this belief on the examples here:
> where, in all three examples, both the SGE submission script's
> #$ directives and the mpirun commands invoked, specify the
> number of processors but there's no hostfile/list.
To be precise, the mpirun commands specify the number of -processes- to be run, not the number of -processors- to be used.
Sounds technical, but one needs to remember that you can oversubscribe processes in MPI, so this distinction is critical.
> Kevin M. Buckley Room: CO327
> School of Engineering and Phone: +64 4 463 5971
> Computer Science
> Victoria University of Wellington
> New Zealand
> users mailing list