Unless the expiration of an IEEE standard forces everyone to cease using it, I am not worried about this issue. All the compilers I use still explicitly support obsolete language standards, and vendor compilers support the features that their customers demand, including non-standard ones.As for hardware support, major processor vendors are not known for breaking backwards-compatibility unless there are very good reasons to do so. At least one vendor maintains backwards compatibility to an ISA from 1977 ;-)Jeff--
On Wed, Jun 21, 2017 at 10:49 PM, Gropp, William D <wgropp@illinois.edu> wrote:
>
> Note that IEEE754 is about to expire - all IEEE standards, as I understand it, must be renewed on a regular schedule. Someone, say a major processor vendor, might want to speak up for it :)
> Bill
>
> Sent from my iPad
>
> > On Jun 22, 2017, at 7:40 AM, Jeff Hammond <jeff.science@gmail.com> wrote:
> >
> > I would like to move beyond languages here and have MPI define IEEE754 types. So we'd have e.g. MPI_IEEE32BIT for single, etc.
> >
> > MPI would do the math according to IEEE in whatever language the implementation uses. Languages would need to have a compatible type to allow the user to manipulate the resulting buffers.
> >
> > Jeff
> >
> > Sent from my iPhone
> >
> >> On Jun 21, 2017, at 10:24 PM, Atsushi HORI <ahori@riken.jp> wrote:
> >>
> >> Hello, Bill,
> >>
> >>> 2017/06/22 14:03、William Gropp <wgropp@illinois.edu> wrote;
> >>>
> >>> On timing, note that MPI already defined optional types. One of these is MPI_REAL2, which is a 2-byte floating point type - that is, FP16. (See p25, line 36, 177, line 2, 540 line 10, and 674 line 38). Was MPI_REAL2 discussed?
> >>
> >> I did not notice of that and there was no discussion about MPI_REAL2 (unless I missed).
> >>
> >> I checked 3.1 standard as you pointed out, but MPI_REAL2 is defined as a Fortran type. I believe that there is no C predefined type for FP16 (or 'MPI_HALF') in MPI 3.1. This is just because ISO C does not define FP16 yet.
> >>
> >>
> >> — from p25, MPI 3.1,
> >> MPI requires support of these datatypes, which match the basic datatypes of Fortran and ISO C. Additional MPI datatypes should be provided if the host language has additional data types: MPI_DOUBLE_COMPLEX for double precision complex in Fortran declared to be of type DOUBLE COMPLEX; MPI_REAL2, MPI_REAL4, and MPI_REAL8 for Fortran reals, declared to be of type REAL*2, REAL*4 and REAL*8, respectively; MPI_INTEGER1, MPI_INTEGER2, and MPI_INTEGER4 for Fortran integers, declared to be of type INTEGER*1, INTEGER*2, and INTEGER*4, respectively; etc.
> >>
> >> -----
> >> Atsushi HORI
> >> ahori@riken.jp
> >> http://aics-sys.riken.jp
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> mpiwg-p2p mailing list
> >> mpiwg-p2p@lists.mpi-forum.org
> >> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-p2p
> > _______________________________________________
> > mpiwg-p2p mailing list
> > mpiwg-p2p@lists.mpi-forum.org
> > https://lists.mpi-forum.org/mailman/listinfo/mpiwg-p2p
> _______________________________________________
> mpiwg-p2p mailing list
> mpiwg-p2p@lists.mpi-forum.org
> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-p2p
Jeff Hammond
jeff.science@gmail.com
http://jeffhammond.github.io/