Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] MPI stats argument in Fortran mpi module (was Regression: Fortran derived types with newer MPI module)
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-01-08 20:52:37


On Jan 8, 2014, at 8:17 PM, Jed Brown <jedbrown_at_[hidden]> wrote:

>>> I don't call MPI from Fortran, but someone on a Fortran project that I
>>> watch mentioned that the compiler would complain about such and such a
>>> use (actually relating to types for MPI_Status in MPI_Recv rather than
>>> buffer types).

(changed subject to reflect a different thread)

>> Can you provide more details here?

> Totally superficial, just passing "status(1)" instead of "status" or
> "status(1:MPI_STATUS_SIZE)".

That's a different type (INTEGER scalar vs. INTEGER array). So the compiler complaining about that is actually correct.

Under the covers, Fortran will (most likely) pass both by reference, so they'll both actually (most likely) *work* if you build with an MPI that doesn't provide an interface for MPI_Recv, but passing status(1) is actually incorrect Fortran.

> I extrapolated: how can they provide an
> explicit interface to MPI_Recv in "use mpi", given portability
> constraints/existing language standards?

I think you're saying that you agree with my above statements about the different types, and you're just detailing how you got to asking about WTF we were providing an MPI_Recv interface in the first place. Kumbaya. :-)

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/