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