Am 13.11.2008 um 05:41 schrieb Scott Beardsley:

Reuti wrote:
qlogin will create a completely fresh bash, which is not aware of running under SGE. Although you could set the SGE_* variables by hand, it's easier to use an interactive session with:

In the past we'd source some sge script and SLOTS, TMPDIR, etc were populated.

What do you mean by "in the past" - you upgraded SGE from version x to version y? You can still source <execd-spool>/<nodename>/ <active_jobs>/<job_id>.1/environment.


$ qrsh -pe orte 4 /path/to/binary
If you really need a shell, you can get one with:
$ qrsh -pe orte 4 bash -il

That breaks my shell (erase, history, tab-completion) but it seems to work other than that. Any suggestions on getting a unique list of nodes without touching them N times (N=# of slots assigned)? I guess I could do "mpirun uname -n|sort -u" but that just seems, well, wrong.

There is nothing stopping you to define a start/stop_proc_args script anyway. You could use the example in $SGE_ROOT/mpi and then call this script with -uniq which will give you a list in the usual $TMPDIR/ machines file. You can even create and remove the temporary directories in this script(s), so you don't have to do it by hand every time you run an interactive parallel job.

-- Reuti

BTW: To avoid saving of the history in the bash and/or sourcing the environment:

MYPARENT=`ps -p $$ -o ppid --no-header`
MYSTARTUP=`ps -p $MYPARENT -o command --no-header`

if [ "${MYSTARTUP:0:13}" = "sge_shepherd-" ]; then
   echo "Running inside SGE"
   MYJOBID=${MYSTARTUP:13}
   MYJOBID=${MYJOBID% -bg}
   echo "Job $MYJOBID"

. /usr/sge/default/spool/$HOSTNAME/active_jobs/$MYJOBID.1/ environment
   unset HISTFILE   # don't save the history
fi


In any case, thanks for the tips!
Scott


_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to