Open MPI logo

Open MPI User's Mailing List Archives

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

From: Renato Golin (rengolin_at_[hidden])
Date: 2006-09-07 08:39:36


Hi Alfonso,

I couldn't even compile your code directly, is it the one you're using
? It does not even makes sense... can you send the code you are using,
or at least a working portion of it that contains
MPI_LOOKUP_NAME with which we can reproduce your error ?

> I have the
> same problem also if I don't use the MPI_LOOKUP_NAME but by the
> port_name recovered by the MPI_open_port.

So maybe the problem is not only on MPI_LOOKUP_NAME... By the error
you sent (MPI_ERR_NAME) the name was not found (or is wrong) and by
your code it's not even initialized (ie. MPI_MAX_PORT_NAME bytes of
rubbish)

> I have seen that the address
> supplied by the system to the server is always the same 0.1.0:2000 , I
> think that thi is very strange.

Operating systems can choose whatever port they feel like. It may be
the lowest port MPI can get for you, or the lowest port the OS can get
for you and it didn't feel the necessity to allocate a different port,
maybe because you're alone in the system or maybe because it felt like
reserving that port for you was cool.

> If I write an example where I use the
> MPI routines that are in the MPI protocol, they have to work!! Is a
> mistake to say that the same program can work and not dependently on
> the implementation.

If you write a MPI implementation, yes. But if you rely on the
smallest differences that MPICH2 have to other MPI implementations you
can write unportable code as well as you can do with C++ and even Perl
and Java.

> Then this example has to work in
> MPICH2 and also in OPEN_MPI. If this doesn't happen this means that
> Open_MPI has some problems...

Wrong. I cannot force GCC to compile any code I throw at it, even
being plain C code. Even between different GCC versions you're not
guaranteed to have no warnings.

"IF" one write a completely generic code, folowing only the standards,
one could assume any compiler would work. And even on that case, I
would still not expect to work "as is". Unfortunatelly the real world
is not as beautiful as we'd like.

> The software has to be independent from
> the implementation that you use.

Up to some point, yes. But MPICH2 and OpenMPI can (and probably will)
make more things that just the basic because it's cool to have better
solutions that those the standard defines. It happens with databases,
programming languages implementations, unix distributions, web pages
etc etc.

cheers,
--renato