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] MPI_REAL16
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-06-22 12:52:57


Given that I'll inevitably get the language wrong, can someone suggest
proper verbiage for this statement in the OMPI README:

- MPI_REAL16 and MPI_COMPLEX32 are only supported on platforms where a
   portable C datatype can be found that matches the Fortran type
   REAL*16, both in size and bit representation. The Intel v11
   compiler, for example, supports these types, but requires the use of
   the "_16" suffix in Fortran when assigning constants to REAL*16
   variables.

Thanks!

On Jun 22, 2009, at 12:34 PM, N.M. Maclaren wrote:

> On Jun 22 2009, Iain Bason wrote:
> >Jeff Squyres wrote:
> >
> >> Thanks for looking into this, David.
> >>
> >> So if I understand that correctly, it means you have to assign all
> >> literals in your fortran program with a "_16" suffix. I don't
> know if
> >> that's standard Fortran or not.
> >
> >Yes, it is.
>
> Sorry - no, it isn't. It's syntactically standard, but has an
> undefined
> meaning.
>
> KIND parameters are processor dependent, and do NOT mean the size in
> bytes,
> words or anything else. On a VAX or Alpha, and potentially on IBM
> and Intel
> systems in the future, you could have several different floating-
> point types
> of the same length. Currently, not all compilers use the same
> conventions,
> even on the same system.
>
> The correct way to do it is to have a module that defines a suitable
> parameter, include that module everywhere, and use that parameter. For
> example:
>
> MODULE double
> INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(12)
> END MODULE double
>
> Include 'USE double' at the start of every procedure and module, and
> then
> use 1.23_DP.
>
>
> 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
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

-- 
Jeff Squyres
Cisco Systems