I'm using SGE 6.1 and OpenMPI 1.4.1 built with gridengine support.

I've got this parallel environment defined in SGE:

pe_name           openmpi
slots             100
user_lists        NONE
xuser_lists       NONE
start_proc_args   /bin/true
stop_proc_args    /bin/true
allocation_rule   $fill_up
control_slaves    TRUE
job_is_first_task FALSE
urgency_slots     min

OpenMPI is installed in its own prefix 
(/shared/apps/openmpi/gcc-4.4/1.4.1), and can be loaded by the 
environment module (http://modules.sourceforge.net/) openmpi.

Now I can successfully run this pe job:

#!/bin/bash
#$ -N test
#$ -q all.q
#$ -pe openmpi 20
#$ -cwd

. /etc/profile.d/modules.sh
module add sge gmp mpfr gcc openmpi/gcc-4.4

mpirun -np $NSLOTS hostname

This script results in empty test.p[oe]* files and a test.o* file with 
different node hostnames, but test.e* contains these errors:

bash: module: line 1: syntax error: unexpected end of file
bash: error importing function definition for `module'
bash: module: line 1: syntax error: unexpected end of file
bash: error importing function definition for `module'

It seems somehow the module environment tools are called in a wrong way,
but I cannot figure out how this happens. These errors are triggered by 
the mpirun command (commenting out mpirun and just leaving the rest of
the script intact, does not result in these errors.). I cannot reproduce
these errors with any other kind of job, nor do they happen when I login
to any node with ssh or when running the bash command.

So, what exactly does mpirun call which might trigger this error?

-- 
Frederik Himpe <fhi...@vub.ac.be>

Reply via email to