<div dir="ltr">No change to the MPI standard is required here.  MPI_Type_create_f90_real is already sufficient.<div><br></div><div>"This function returns a <b>predefined</b> MPI datatype that matches a REAL variable of KIND selected_real_kind(p, r)." - I do not see why we need to enumerate a predefined datatype name associated with float16 in Fortran for this statement to be true.  An implementation can return a datatype with the appropriate properties without being enumerated like MPI_REAL.</div><div><br></div><div>"It is erroneous to supply values for p and r not supported by the compiler." - Conversely, the user should be allowed to supply values that are supported by the compiler (although the standard doesn't guarentee it today).  MPI implementations might not support every type the compiler does, as is already the case for Fortran float128 (because MPI libraries are written in C, and do not call back into Fortran to do math on these types, which may not be identical to C extensions like __float128), but I consider that an implementation defect.</div><div><br></div><div>Thus, I propose to merely add the text that allows users to rely on MPI_Type_create_f90_real for float16 in Fortran, provided that the compiler supports it.  It will then be up to implementations to figure out how to do math on these types internally.</div><div><br></div><div>While we are on this subject, we should be considering the more general inadequacy of the current state of the MPI type system from the perspective of reductions.  See <a href="https://github.com/mpi-forum/mpi-issues/issues/18">https://github.com/mpi-forum/mpi-issues/issues/18</a> for details.</div><div><br></div><div>As for ISO C/C++, I can talk to Clark Nelson if a better candidate is not identified, but Lawrence Crowl is leading the C++ effort and I suspect the C folks will follow, although I will confirm this with Clark.</div><div><br></div><div>Jeff</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 16, 2017 at 6:16 AM, Kawashima, Takahiro <span dir="ltr"><<a href="mailto:t-kawashima@jp.fujitsu.com" target="_blank">t-kawashima@jp.fujitsu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I don't know the status of C standardization nor contact person<br>
but the suggestion of 'short float' was seem to made in a WG.<br>
<br>
  <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0192r0.pdf" rel="noreferrer" target="_blank">http://www.open-std.org/jtc1/<wbr>sc22/wg21/docs/papers/2016/<wbr>p0192r0.pdf</a><br>
  <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2016.pdf" rel="noreferrer" target="_blank">http://www.open-std.org/jtc1/<wbr>sc22/wg14/www/docs/n2016.pdf</a><br>
<br>
Regards,<br>
Takahiro Kawashima,<br>
Fujitsu<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
> Tony,<br>
><br>
> we try to find the type names used in C and Fortran before we define<br>
> the new predefined MPI datatype handles for representing those<br>
> language types.<br>
><br>
> Who knows, whom we can contact on the C standardization side?<br>
><br>
> Best regards<br>
> Rolf<br>
><br>
> ----- Original Message -----<br>
> > From: "Anthony Skjellum" <<a href="mailto:tony@runtimecomputing.com">tony@runtimecomputing.com</a>><br>
> > To: "MPI WG Point To Point Communications working group" <<a href="mailto:mpiwg-p2p@lists.mpi-forum.org">mpiwg-p2p@lists.mpi-forum.org</a><wbr>><br>
> > Cc: "Reinhold Bader" <<a href="mailto:Reinhold.Bader@lrz-muenchen.de">Reinhold.Bader@lrz-muenchen.<wbr>de</a>>, "Atsushi Hori" <<a href="mailto:ahori@riken.jp">ahori@riken.jp</a>>, "fortran standards email list<br>
> > for J3" <<a href="mailto:j3@j3-fortran.org">j3@j3-fortran.org</a>>, "MPI-WG Fortran working group" <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-<wbr>forum.org</a>><br>
> > Sent: Friday, June 16, 2017 2:50:00 PM<br>
> > Subject: Re: [MPIWG Fortran] [mpiwg-p2p] FP16 16-bit-floating-point<br>
><br>
> > Rolf, apart from the Fortan angle, may I strongly encourage that we adopt this<br>
> > datatype for MPI-4. It is part of real MPI codes already, but now we have to<br>
> > fake transfer datatypes as 16-bit integers or bytes... which means not really<br>
> > right if heterogeneous interoperability were to be maintained. And this is a<br>
> > canonical IEEE type now, as you note. There is also the "2 half-float" datatype<br>
> > (32-bits) at least in CUDA to be looked at; maybe ignored or maybe supported,<br>
> > but it is there too. Key to this MPI users and applications use half floats and<br>
> > 2 half-floats :-) in practice.<br>
> ><br>
> > May I also suggest a forward look at the types in AVX-512, in case any of these<br>
> > become particularly relevant in future.<br>
> > At least 8-bit integers are conceptually new, apart from BYTE. [<br>
> > <a href="https://en.wikipedia.org/wiki/AVX-512" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>AVX-512</a> | <a href="https://en.wikipedia.org/wiki/AVX-512" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/<wbr>AVX-512</a> ]<br>
> ><br>
> > Regards,<br>
> > Tony<br>
> ><br>
> ><br>
> > On Fri, Jun 16, 2017 at 6:52 AM, Rolf Rabenseifner < [<br>
> > mailto:<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a> | <a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a> ] > wrote:<br>
> ><br>
> ><br>
> > Hi all together,<br>
> ><br>
> > I'm sitting in the MPI Forum Meeting and we discuss the new IEEE FP16<br>
> > datatype.<br>
> ><br>
> > Questions to the Fortran atandardization body:<br>
> ><br>
> > - Does the Fortran Standardization Body has already a proposal for<br>
> > the new name in Fortran for this IEEE FP16?<br>
> ><br>
> > - Will be REAL*2 identical to IEEE FP16?<br>
> ><br>
> > Best regards<br>
> > Rolf<br>
</div></div><div class="gmail-HOEnZb"><div class="gmail-h5">______________________________<wbr>_________________<br>
mpiwg-p2p mailing list<br>
<a href="mailto:mpiwg-p2p@lists.mpi-forum.org">mpiwg-p2p@lists.mpi-forum.org</a><br>
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-p2p" rel="noreferrer" target="_blank">https://lists.mpi-forum.org/<wbr>mailman/listinfo/mpiwg-p2p</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>