Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] ierr vs ierror in F90 mpi module
From: W Spector (w6ws_at_[hidden])
Date: 2013-04-25 22:52:22


Jeff,

I tried building 1.7.1 on my Ubuntu system. The default gfortran is
v4.6.3, so configure won't enable the mpi_f08 module build. I also
tried a three week old snapshot of the gfortran 4.9 trunk. This has
Tobias's new TYPE(*) in it, but not his latest !GCC$ attributes
NO_ARG_CHECK stuff. However configure still won't enable the mpi_f08
module.

Is there a trick to getting a recent gfortran to compile the mpi_f08 module?

I went into the openmpi-1.7.1/ompi/mpi/fortran/use-mpi-tkr/scripts
directory and modified the files to use ierror instead of ierr. (One
well-crafted line of shell script.) Did the same with a couple of .h.in
files in the use-mpi-tkr and use-mpi-ignore-tkr directories, and
use-mpi-tkr/attr_fn-f90-interfaces.h.in. (One editor command each.)

With the above, the mpi module is in much better shape. However there
are still some scattered incorrect non-ierror argument names. A few
examples from the code I am working with:

   MPI_Type_create_struct: The 2nd argument should be
"array_of_blocklengths", instead of "array_of_block_lengths"

   MPI_Type_commit: "datatype" instead of "type"

   MPI_Type_free: Again, "datatype" instead of "type"

There are more...

Walter

On 04/25/2013 06:50 AM, W Spector wrote:
> Hi Jeff,
>
> I just downloaded 1.7.1. The new files in the use-mpi-f08 look great!
>
> However the use-mpi-tkr and use-mpi-ignore-tkr directories don't fare so
> well. Literally all the interfaces are still 'ierr'.
>
> While I realize that both the F90 mpi module and interface checking,
> were optional prior to MPI 3.0, the final argument has been called
> 'ierror' since MPI 1! This really should be fixed.
>
> Walter
>
> On 04/24/2013 06:08 PM, Jeff Squyres (jsquyres) wrote:
>> Can you try v1.7.1?
>>
>> We did a major Fortran revamp in the 1.7.x series to bring it up to
>> speed with MPI-3 Fortran stuff (at least mostly). I mention MPI-3
>> because the name-based parameter passing stuff wasn't guaranteed until
>> MPI-3. I think 1.7.x should have gotten all the name-based parameter
>> passing stuff correct (please let me know if you find any bugs!).
>>
>> Just to be clear: it is unlikely that we'll be updating the Fortran
>> support in the 1.6.x series.
>>
>>
>> On Apr 24, 2013, at 8:52 PM, W Spector <w6ws_at_[hidden]>
>> wrote:
>>
>>> Hi,
>>>
>>> The MPI Standard specifies to use 'ierror' for the final argument in
>>> most Fortran MPI calls. However the Openmpi f90 module defines it as
>>> being 'ierr'. This messes up those who want to use keyword=value
>>> syntax in their calls.
>>>
>>> I just checked the latest 1.6.4 release and it is still broken.
>>>
>>> Is this something that can be fixed?
>>>
>>> Walter
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>