<div dir="ltr"><div>> (we never did the MAX/MINLOC reductions also for fixed-size types)<br></div><div><br></div>Yes, because it leads to an absurd explosion of enumerations, which is why I proposed a utility routine to construct pair types that behave like built-ins (<a href="https://github.com/mpi-forum/mpi-issues/issues/18#issuecomment-155661199">https://github.com/mpi-forum/mpi-issues/issues/18#issuecomment-155661199</a>).<div><br></div><div>While it's embarrassing that MPI has failed to keep up with ISO language built-in types, I console myself with the fact that I can implement all of this in BigMPI or MPICH in a day or two and Open-MPI with more effort.</div><div><br></div><div>I don't know where float128_t sits w.r.t. ISO standardization in C or C++ but users have been asking for __float128 support for a long time to no avail.</div><div><br><div>Jeff<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 16, 2017 at 11:04 AM, Rolf Rabenseifner <span dir="ltr"><<a href="mailto:rabenseifner@hlrs.de" target="_blank">rabenseifner@hlrs.de</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">Atsushi-san, (now only in the P2P-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>
Therefore for the C-side, I would propose for<br>
(oc course voted in only after the C standardization gets confirmed)<br>
<br>
MPI-3.1 table on page 673<br>
<br>
 Named Predefined Datatypes | C types<br>
 ---------------------------+--<wbr>----------<br>
 MPI_SHORT_FLOAT            | short float<br>
 MPI_FLOAT16_T              | float16_t<br>
 MPI_FLOAT32_T              | float32_t<br>
 MPI_FLOAT64_T              | float64_t<br>
<br>
(We must check, whether they also include float128_t into the C Standard,<br>
 or whether they only standardize short float without all ..._T)<br>
<br>
MPI-3.1 table on page 675 lines 1-9<br>
<br>
 Datatypes for reduction functions (C)<br>
 ------------------------------<wbr>-------<br>
 MPI_SHORT_FLOAT_INT<br>
<br>
(we never did the MAX/MINLOC reductions also for fixed-size types)<br>
<br>
MPI-3.1 Table 13.2 on page 540 ***and***<br>
MPI-3.1 Table 3.2 on page 26<br>
<br>
 Type            | Length<br>
 ----------------+-------<br>
 MPI_SHORT_FLOAT |   2<br>
 MPI_FLOAT16_T   |   2<br>
 MPI_FLOAT32_T   |   4<br>
 MPI_FLOAT64_T   |   8<br>
<br>
And adding the following to "Floating point:"<br>
on page 176, line 45:<br>
<br>
- before MPI_FLOAT:<br>
     MPI_SHORT_FLOAT,<br>
- after MPI_DOUBLE:<br>
     MPI_FLOAT16_T, MPI_FLOAT32_T, MPI_FLOAT64_T,<br>
<br>
By the way, the table on page 540 should be done<br>
with normal Latex and the correct macros for constants<br>
to guarantee that this Location is also visible in the<br>
constants-index page 823ff.<br>
<br>
You may have detected further Locations that are relevant.<br>
<br>
And of course, the appropriate change-log index is also needed.<br>
<span class="gmail-im gmail-HOEnZb"><br>
Best regards<br>
Rolf<br>
<br>
----- Original Message -----<br>
</span><span class="gmail-im gmail-HOEnZb">> From: "Kawashima, Takahiro" <<a href="mailto:t-kawashima@jp.fujitsu.com">t-kawashima@jp.fujitsu.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>
</span><span class="gmail-im gmail-HOEnZb">> Cc: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>>, "MPI-WG Fortran working group" <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-<wbr>forum.org</a>>,<br>
</span><span class="gmail-im gmail-HOEnZb">> "Anthony Skjellum" <<a href="mailto:tony@runtimecomputing.com">tony@runtimecomputing.com</a>>, "Reinhold Bader" <<a href="mailto:Reinhold.Bader@lrz-muenchen.de">Reinhold.Bader@lrz-muenchen.<wbr>de</a>>, "Atsushi Hori"<br>
> <<a href="mailto:ahori@riken.jp">ahori@riken.jp</a>>, "fortran standards email list for J3" <<a href="mailto:j3@j3-fortran.org">j3@j3-fortran.org</a>><br>
</span><span class="gmail-im gmail-HOEnZb">> Sent: Friday, June 16, 2017 3:16:57 PM<br>
> Subject: Re: [mpiwg-p2p] [MPIWG Fortran]  FP16 16-bit-floating-point<br>
<br>
</span><div class="gmail-HOEnZb"><div class="gmail-h5">> 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>
><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"<br>
>> > <<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"<br>
>> > <<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"<br>
>> > <<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>
<br>
</div></div><span class="gmail-im gmail-HOEnZb">--<br>
Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a> .<br>
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br>
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br>
Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner" rel="noreferrer" target="_blank">www.hlrs.de/people/<wbr>rabenseifner</a> .<br>
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .<br>
</span><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></div></div>