LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2004-06-21 06:07:37


On Mon, 21 Jun 2004, Hiroshi Higuchi (2247990) wrote:

> I wrote a simple HellowWorld application in C++. Unfortunately, it only
> runs on the local node and does not run on remote nodes. The exact same
> program in C works fine on multiple nodes.
>
> <Output from running C helloworld>
> $ mpicc hello.c -o helloC
> $ mpirun -np 5 helloC
> Hello, world! I am 0 of 5.
> Hello, world! I am 1 of 5.
> Hello, world! I am 3 of 5.
> Hello, world! I am 2 of 5.
> Hello, world! I am 4 of 5.
>
> <Output from running C++ helloworld>
> $ mpic++ hello.cpp -o helloCpp
> $ mpirun -np 5 helloCpp
> Hello, I am 0 of 1

This is quite an odd error -- not only is your application only running on
one node, your application *expects* there to only be one process (i.e.,
the "0 of 1" part). This seems to indicate an error on mpirun's part,
which seems quite unlikely.

I have to admit that I'm somewhat at a loss as to how you could specify
"-np 5" and only get a) one process running, and b) no other error output.
Hmm.

Here's some off-the-wall guesses:

1. What C++ compiler did you use to compile LAM? Are there any relevant
directories that need to be in LD_LIBRARY_PATH for C++ libraries that are
perhaps not in the remote node's environment?

2. Are you sure that you're using LAM's mpicc/mpic++/mpirun? What does
"which mpirun" show you? How about "ls -l `which mpirun`" -- is that the
one that you just compiled and installed?

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/