Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Brian Barrett (brbarret_at_[hidden])
Date: 2006-07-16 18:21:37

On Jul 16, 2006, at 4:13 PM, Eric Thibodeau wrote:
> Now that I have that out of the way, I'd like to know how I am
> supposed to compile my apps so that they can run on an homogenous
> network with mpi. Here is an example:
> kyron_at_headless ~/1_Files/1_ETS/1_Maitrise/MGL810/Devoir2 $ mpicc -L/
> usr/X/lib -lm -lX11 -O3 mandelbrot-mpi.c -o mandelbrot-mpi
> kyron_at_headless ~/1_Files/1_ETS/1_Maitrise/MGL810/Devoir2 $ mpirun --
> hostfile hostlist -np 3 ~/1_Files/1_ETS/1_Maitrise/MGL810/Devoir2/
> mandelbrot-mpi
> ----------------------------------------------------------------------
> ----
> Could not execute the executable "/home/kyron/1_Files/1_ETS/
> 1_Maitrise/MGL810/Devoir2/mandelbrot-mpi": Exec format error
> This could mean that your PATH or executable name is wrong, or that
> you do not
> have the necessary permissions. Please ensure that the executable
> is able to be
> found and executed.
> ----------------------------------------------------------------------
> ----
> As can be seen with the uname -a that was run previously, I have 2
> "local nodes" on the x86_64 and two i686 nodes. I tried to find
> examples in the Doc on howto compile applications correctly for
> such a setup without compromising performance but I came short of
> an example.

 From the sound of it, you have a heterogeneous configuration -- some
nodes are x86_64 and some are x86. Because of this, you either have
to compile your application twice, once for each platform or compile
your application for the lowest common denominator. My guess would
be that it easier and more foolproof if you compiled everything in 32
bit mode. If you run in a mixed mode, using application schemas (see
the mpirun man page) will be the easiest way to make things work.


   Brian Barrett
   Open MPI developer