[GE users] Intel MPI 3.1 tight integration

Daniel Templeton Dan.Templeton at Sun.COM
Mon Nov 3 14:42:10 GMT 2008


    [ The following text is in the "ISO-8859-1" character set. ]
    [ Your display is set for the "ISO-8859-10" character set.  ]
    [ Some special characters may be displayed incorrectly. ]

The mpd daemons do daemonize.  That means that the qrsh -inherit returns 
before the actual work gets done, but shouldn't SGE pick up the usage 
anyway using the GID?  I readily admit that SGE PEs are not my strong suit.

There is a switch to make the mpd daemons not daemonize, but then you 
have to do some dancing around how to let mpdboot run multiple qrsh 
-inherit calls in the background and still be able to read the first 
line of input from them (the port number) without having input buffering 
get in the way.

Daniel

Reuti wrote:
> Am 03.11.2008 um 14:54 schrieb Daniel Templeton:
>
>> Actually, I've done a tight integration, and it's pretty easy.  The 
>> mpdboot command takes a -r parameter that gives the name of the "rsh" 
>> to execute.  Just create a script that strips out the -x and -n from 
>> the arguments and runs qrsh -inherit instead of rsh, and pass that 
>> script to mpdboot with -r.  (You may also want to shortcut out the 
>> Python version check...)  You'll also need a PE starter that creates 
>> an appropriate machines file.
>
> In contrast to MPICH(2) the mpd daemons are not forking into 
> daemonland any longer? Besides this, I found the creation of more and 
> more processgroups by the Python script in MPICH(2) being the handicap.
>
> Is it also working with two jobs of the same user on a node?
>
> No shutdown necessary?
>
> -- Reuti
>
>
>> My scripts below should work with Intel MPI 3.1 or 3.2.
>>
>> Daniel
>>
>> % cat startpe.sh
>> #!/bin/sh
>>
>> hfile=$TMP/mpd.hosts
>> touch $hfile
>>
>> cat $PE_HOSTFILE | while read line; do
>>  host=`echo $line | cut -d' ' -f1 | cut -d'.' -f1`
>>  cores=`echo $line | cut -d' ' -f2`
>>
>>  while [ $cores -gt 0 ]; do
>>    echo $host >> $hfile
>>    cores=`expr $cores - 1`
>>  done
>> done
>>
>> exit 0
>> % cat qrsh-inherit.pl
>> #!/usr/bin/perl
>>
>> # Shortcircuit python version check
>> if (grep /^\s*-x\s*$/, @ARGV) {
>>  print "2.4\n";
>>  exit 0;
>> }
>>
>> # Strip out -n and -x
>> @ARGV = grep !/^\s*-[nx]\s*$/, @ARGV;
>>
>> exec "qrsh", "-inherit", @ARGV;
>>
>>
>> Daniel De Marco wrote:
>>> Hi,
>>>
>>> I'm trying to integrate Intel MPI with gridengine. From what I found on
>>> the list archives it seems tight integration is impossible. What 
>>> about loose intergation, did anyone try it? Any comments/pointers?
>>>
>>> Thanks, Daniel.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
>>> For additional commands, e-mail: users-help at gridengine.sunsource.net
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
>> For additional commands, e-mail: users-help at gridengine.sunsource.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
> For additional commands, e-mail: users-help at gridengine.sunsource.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net




More information about the gridengine-users mailing list