Hi Jeff,
Quoting Jeff Squyres <jsquyres_at_[hidden]>:
> I cannot say for sure, but this is symptomatic of using the wrong
> mpirun command -- i.e., an mpirun command that belongs to a different
> MPI implementation. Specifically, if you compile an application with
> LAM and then run it with another MPI implementation's mpirun, the LAM
> processes will likely think that they are singletons (i.e., the same
> as if you had not used mpirun and simply invoked "./a.out"), and
> therefore have an MPI_COMM_WORLD size of 1.
>
> Can you verify that you're invoking LAM's mpirun command?
>
I tried using every mpirun command on my machine. Including mpirun.lam in
/usr/lib/lam and I still have the same problem, all processes created by lam
believe they have rank one... MPI::COMM_WORLD.Get_rank() returns 0. I have
always used lam over a network but was told it can be used to debug on a single
machine. Is this really the case?
-Rich
>
> On Feb 13, 2006, at 5:36 PM, rtichy_at_[hidden] wrote:
>
> > I am trying to run my mpi ap using lam on my home machine. The
> > problem is the application uses the rank returned by
> > 'MPI::COMM_WORLD.Get_rank()' to figure out who is who and
> > distribute information accordingly
> >
> > The problem is that on my machine, when running the command:
> >
> > mpirun -np 4 myapp myargs
> >
> > ... all processes return the same rank so they all think they are
> > the master and my app crashes. Am I missing something naive or is
> > there a way to force lam to give each process a different rank even
> > when running on a single processor?
> >
> > I am really a little stuck on this one and after 2 odd hours of
> > trying to find a relevant post I just gave up. Can anyone suggest
> > something?
>
> --
> {+} Jeff Squyres
> {+} The Open MPI Project
> {+} http://www.open-mpi.org/
>
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
|