Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI devel] Fortran 90 Interface
From: N.M. Maclaren (nmm1_at_[hidden])
Date: 2009-01-23 13:20:30


On Jan 23 2009, Jeff Squyres wrote:
>
>FWIW, ABI is not necessarily a bad thing; it has its benefits and
>drawbacks (and enablers and limitations). Some people want it and
>some people don't (most don't care, I think). We'll see where that
>effort goes in the Forum and elsewhere.

Right. But, as someone with experience of trying to design portable ABIs,
it requires more knowledge and skill than the typical person tackling the
job knows even exists ....

Luckily, at present, there is virtually no variation between systems, but
you can imagine what the task was like in the days of the CDC 6600, ICL
1900, different PDPs, System/370, Burroughs, Univac, Old Uncle Tom Cobbley
and all. The success rate was zilch, which at least stopped people from
perpetrating 'portable' ABIs that didn't work on the next generation of
systems - which is where we are today!

>FWIW, the F03 bindings for MPI may allow address-sized integers to be
>handles in Fortran. In this case, MPI handles will likely take on
>exactly the same value that they are in C. In OMPI's case, that's a C
>pointer, so the F03 value for MPI_COMM_WORLD will be some very large
>non-zero integer value. (standard disclaimers about future features/
>functionality -- time will tell if this stuff plays out as expected)

That would solve this particular problem, if it is what I think it is.
A private Email made me realise that he was probably passing the Fortran
MPI_COMM_WORLD to NetCDF4 for use as a communicator - and, unless NetCDF
is much better quality than when I last looked at it, I will bet that
its Fortran interface is just a thin wrapper. You can guess the rest :-)

>I see your point about accidental 0's, but I think I'd prefer that the
>F03 bindings solve this particular issue.

Starting from where you are now, yes, but it is ALWAYS a mistake to use
small integers (especially zero) for opaque values. Expose them or make
then genuinely opaque.

Regards,
Nick Maclaren,
University of Cambridge Computing Service,
New Museums Site, Pembroke Street, Cambridge CB2 3QH, England.
Email: nmm1_at_[hidden]
Tel.: +44 1223 334761 Fax: +44 1223 334679