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/
|