I have openmpi installed and running, but have a need to run non mpi
programs (3rd party software for which I don't have the source) together
with mpi programs.

Have managed to simplify the problem down to the following

JobA
int main(.)
{
    printf("Starting JobA\n");
    MPI::Init();
    printf("JobA Init done\n");
}

JobB
Int main(.)
{
    printf("Starting JobB\n");
}

And running with 
mpirun -mca btl tcp,self,sm -np 1 -host lyre JobA  : -np 1 -host lyre JobB

The output is the two messages "Starting ." message and then hangs.

It would appear that the MPI::Init() is waiting for all Ranks to call
MPI::Init() before continuing.

Please note the above works as expected if we run either two JobAs or two
JobBs. Only have a problem if there is a mixture of JobAs and JobBs.

Is there a way around this problem?

Thanks in advance Neville

Reply via email to