Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] MPI_PROC_NULL
From: jody (jody.xha_at_[hidden])
Date: 2009-02-13 07:39:01


Yes, it was doing no sensible work -
It was only intended to show the error message.

I now downloaded the latest nightly tarball and installed it,
and used your version of the test programm. It works -
*if* is use the entire path to mpirun:

 [jody_at_localhost 3D]$ /opt/openmpi-1.3.1a0r20534/bin/mpirun -np 2 ./sr

but if i use the name alone, i get the error:

[jody_at_localhost 3D]$ mpirun -np 2 ./sr
[localhost.localdomain:29285] *** An error occurred in MPI_Sendrecv
[localhost.localdomain:29285] *** on communicator MPI_COMM_WORLD
[localhost.localdomain:29285] *** MPI_ERR_RANK: invalid rank
[localhost.localdomain:29285] *** MPI_ERRORS_ARE_FATAL (goodbye)
[localhost.localdomain:29286] *** An error occurred in MPI_Sendrecv
[localhost.localdomain:29286] *** on communicator MPI_COMM_WORLD
[localhost.localdomain:29286] *** MPI_ERR_RANK: invalid rank
[localhost.localdomain:29286] *** MPI_ERRORS_ARE_FATAL (goodbye)

interestingly, it seems to be the same version:
[jody_at_localhost 3D]$ mpirun --version
mpirun (Open MPI) 1.3.1a0r20534

i.e. the version is ok.

I have my Open-MPI versions installed in directories
  /opt/openmpi-1.xxx
and create a link
  ln -s /opt/opnmpi-1.xxx /opt/openmpi
I do it like this so i can easily switch between different version

Could the diffferent behavour of mpirun and
/opt/openmpi-1.3.1a0r20534/bin/mpirun
hab its cause in this setup?

Thank You
  Jody

On Fri, Feb 13, 2009 at 1:18 AM, Jeff Squyres <jsquyres_at_[hidden]> wrote:
> On Feb 12, 2009, at 2:00 PM, jody wrote:
>
>> In my application i use MPI_PROC_NULL
>> as an argument in MPI_Sendrecv to simplify the
>> program (i.e. no special cases for borders)
>> With 1.3 it works, but under 1.3.1a0r20520
>> i get the following error:
>> [jody_at_localhost 3D]$ mpirun -np 2 ./sr
>> [localhost.localdomain:29253] *** An error occurred in MPI_Sendrecv
>> [localhost.localdomain:29253] *** on communicator MPI_COMM_WORLD
>> [localhost.localdomain:29253] *** MPI_ERR_RANK: invalid rank
>> [localhost.localdomain:29253] *** MPI_ERRORS_ARE_FATAL (goodbye)
>> [localhost.localdomain:29252] *** An error occurred in MPI_Sendrecv
>> [localhost.localdomain:29252] *** on communicator MPI_COMM_WORLD
>> [localhost.localdomain:29252] *** MPI_ERR_RANK: invalid rank
>> [localhost.localdomain:29252] *** MPI_ERRORS_ARE_FATAL (goodbye)
>
> Your program as written should hang, right? You're trying to receive from
> MCW rank 1 and no process is sending.
>
> I slightly modified your code:
>
> #include <stdio.h>
> #include "mpi.h"
>
> int main() {
> int iRank;
> int iSize;
> MPI_Status st;
>
> MPI_Init(NULL, NULL);
> MPI_Comm_size(MPI_COMM_WORLD, &iSize);
> MPI_Comm_rank(MPI_COMM_WORLD, &iRank);
>
> if (1 == iRank) {
> MPI_Send(&iSize, 1, MPI_INT, 0, 77, MPI_COMM_WORLD);
> } else if (0 == iRank) {
> MPI_Sendrecv(&iRank, 1, MPI_INT, MPI_PROC_NULL, 77,
> &iSize, 1, MPI_INT, 1, 77, MPI_COMM_WORLD, &st);
> }
>
> MPI_Finalize();
> return 0;
> }
>
> And that works fine for me at the head of the v1.3 branch:
>
> [16:17] svbu-mpi:~/svn/ompi-1.3 % svnversion .
> 20538
>
> We did have a few bad commits on the v1.3 branch recently; could you try
> with a tarball from tonight, perchance?
>
> --
> Jeff Squyres
> Cisco Systems
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>