On Jul 26, 2011, at 1:58 PM, Reuti wrote: >>>> allocation_rule $fill_up >>> >>> Here you specify to fill one machine after the other completely before >>> gathering slots from the next machine. You can change this to $round_robin >>> to get one slot form each node before taking a second from particular >>> machines. If you prefer a fixed allocation, you could also put an integer >>> here. >> >> Remember, OMPI only uses sge to launch one daemon/node. The placement of MPI >> procs is totally up to mpirun itself, which doesn't look at any SGE envar. > > I thought this is the purpose to use --with-sge during configure as you don't > have to provide any hostlist at all and Open MPI will honor it by reading SGE > envars to get the granted slots? >
We use the envars to determine how many slots were allocated, but not the placement. So we'll look at the envar to get the number of slots allocated on each node, but we then determine the layout of processes against the slots. To the point, we don't look at an sge envar to determine how that layout is to be done. I was only trying to point out the difference. I admit it can be confusing when using sge, especially since sge doesn't actually have visibility into the MPI procs themselves (i.e., the only processes launched by sge are the daemons).