[Mpi-forum] MPI-3 Fortran implementation now available

Jeffrey Squyres jsquyres@cisco.com
Tue Feb 28 15:20:00 GMT 2012


On Feb 28, 2012, at 9:40 AM, Tobias Burnus wrote:

> Is there a reason for not using "type(*) ::" for scalars and "type(*), dimension(*)::" for arrays? Off hand, I think it should work - and one has only two interfaces instead of 1 + (number of intrinsic types) - and derived types should work as well.

Ah!  See, this is why I am not a Fortran expert.  Yes, that sounds like the 2 interfaces should work.

Craig, can you comment?

>> If you compile GCC 4.7 yourself, you should be able to experiment with TYPE(*).


Thanks!  It is unlikely that I can justify the time to do this, but maybe we can convince Craig to do it...  :-)

>> But wouldn't a vendor extension TYPE (*), __gfortran3_dimension (..) be
>> also ok that passes the existing descriptor?  The MPI implementation would
>> just need to know its specification?  [the '3' for the library SO version, which
>> I assume correlates with the descriptor "version"]
> 
> Implementing dimension(..) might be relatively simple, I have not studied the standard. But for a library implement like Open MPI it is much easier to use the compiler's C header file "ISO_Fortran_binding.h" together with well-defined macros and field names than a compiler-specific, rather undocumented descriptor format.

This is pretty much exactly our feeling -- given that the popular open source MPI implementations tend to support a variety of compilers, we prefer to use standard mechanisms rather than vendor-specific ones, whenever possible.

-- 
Jeff Squyres
jsquyres@cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/



More information about the Fortran mailing list