Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] bug in MPI_Cart_create?
From: David Singleton (David.Singleton_at_[hidden])
Date: 2009-10-13 02:54:34


Looking back through the archives, a lot of people have hit error
messages like

> [bl302:26556] *** An error occurred in MPI_Cart_create
> [bl302:26556] *** on communicator MPI_COMM_WORLD
> [bl302:26556] *** MPI_ERR_ARG: invalid argument of some other kind
> [bl302:26556] *** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)

One of the reasons people *may* be hitting this is what I believe to
be an incorrect test in MPI_Cart_create():

         if (0 > reorder || 1 < reorder) {
             return OMPI_ERRHANDLER_INVOKE (old_comm, MPI_ERR_ARG,
                                           FUNC_NAME);
         }

reorder is a "logical" argument and "2.5.2 C bindings" in the MPI 1.3
standard says:

     Logical flags are integers with value 0 meaning “false” and a
     non-zero value meaning “true.”

So I'm not sure there should be any argument test.

We hit this because we (sorta erroneously) were trying to use a GNU build
of Open MPI with Intel compilers. gfortran has true=1 while ifort has
true=-1. It seems to all work (by luck, I know) except this test. Are
there any other tests like this in Open MPI?

David