[mpiwg-p2p] [MPIWG Fortran] FP16 16-bit-floating-point
Rolf Rabenseifner
rabenseifner at hlrs.de
Fri Jun 16 13:04:50 CDT 2017
Atsushi-san, (now only in the P2P-WG)
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0192r0.pdf
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2016.pdf
Therefore for the C-side, I would propose for
(oc course voted in only after the C standardization gets confirmed)
MPI-3.1 table on page 673
Named Predefined Datatypes | C types
---------------------------+------------
MPI_SHORT_FLOAT | short float
MPI_FLOAT16_T | float16_t
MPI_FLOAT32_T | float32_t
MPI_FLOAT64_T | float64_t
(We must check, whether they also include float128_t into the C Standard,
or whether they only standardize short float without all ..._T)
MPI-3.1 table on page 675 lines 1-9
Datatypes for reduction functions (C)
-------------------------------------
MPI_SHORT_FLOAT_INT
(we never did the MAX/MINLOC reductions also for fixed-size types)
MPI-3.1 Table 13.2 on page 540 ***and***
MPI-3.1 Table 3.2 on page 26
Type | Length
----------------+-------
MPI_SHORT_FLOAT | 2
MPI_FLOAT16_T | 2
MPI_FLOAT32_T | 4
MPI_FLOAT64_T | 8
And adding the following to "Floating point:"
on page 176, line 45:
- before MPI_FLOAT:
MPI_SHORT_FLOAT,
- after MPI_DOUBLE:
MPI_FLOAT16_T, MPI_FLOAT32_T, MPI_FLOAT64_T,
By the way, the table on page 540 should be done
with normal Latex and the correct macros for constants
to guarantee that this Location is also visible in the
constants-index page 823ff.
You may have detected further Locations that are relevant.
And of course, the appropriate change-log index is also needed.
Best regards
Rolf
----- Original Message -----
> From: "Kawashima, Takahiro" <t-kawashima at jp.fujitsu.com>
> To: "MPI WG Point To Point Communications working group" <mpiwg-p2p at lists.mpi-forum.org>
> Cc: "Rolf Rabenseifner" <rabenseifner at hlrs.de>, "MPI-WG Fortran working group" <mpiwg-fortran at lists.mpi-forum.org>,
> "Anthony Skjellum" <tony at runtimecomputing.com>, "Reinhold Bader" <Reinhold.Bader at lrz-muenchen.de>, "Atsushi Hori"
> <ahori at riken.jp>, "fortran standards email list for J3" <j3 at j3-fortran.org>
> Sent: Friday, June 16, 2017 3:16:57 PM
> Subject: Re: [mpiwg-p2p] [MPIWG Fortran] FP16 16-bit-floating-point
> Hi,
>
> I don't know the status of C standardization nor contact person
> but the suggestion of 'short float' was seem to made in a WG.
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0192r0.pdf
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2016.pdf
>
> Regards,
> Takahiro Kawashima,
> Fujitsu
>
>> Tony,
>>
>> we try to find the type names used in C and Fortran before we define
>> the new predefined MPI datatype handles for representing those
>> language types.
>>
>> Who knows, whom we can contact on the C standardization side?
>>
>> Best regards
>> Rolf
>>
>> ----- Original Message -----
>> > From: "Anthony Skjellum" <tony at runtimecomputing.com>
>> > To: "MPI WG Point To Point Communications working group"
>> > <mpiwg-p2p at lists.mpi-forum.org>
>> > Cc: "Reinhold Bader" <Reinhold.Bader at lrz-muenchen.de>, "Atsushi Hori"
>> > <ahori at riken.jp>, "fortran standards email list
>> > for J3" <j3 at j3-fortran.org>, "MPI-WG Fortran working group"
>> > <mpiwg-fortran at lists.mpi-forum.org>
>> > Sent: Friday, June 16, 2017 2:50:00 PM
>> > Subject: Re: [MPIWG Fortran] [mpiwg-p2p] FP16 16-bit-floating-point
>>
>> > Rolf, apart from the Fortan angle, may I strongly encourage that we adopt this
>> > datatype for MPI-4. It is part of real MPI codes already, but now we have to
>> > fake transfer datatypes as 16-bit integers or bytes... which means not really
>> > right if heterogeneous interoperability were to be maintained. And this is a
>> > canonical IEEE type now, as you note. There is also the "2 half-float" datatype
>> > (32-bits) at least in CUDA to be looked at; maybe ignored or maybe supported,
>> > but it is there too. Key to this MPI users and applications use half floats and
>> > 2 half-floats :-) in practice.
>> >
>> > May I also suggest a forward look at the types in AVX-512, in case any of these
>> > become particularly relevant in future.
>> > At least 8-bit integers are conceptually new, apart from BYTE. [
>> > https://en.wikipedia.org/wiki/AVX-512 | https://en.wikipedia.org/wiki/AVX-512 ]
>> >
>> > Regards,
>> > Tony
>> >
>> >
>> > On Fri, Jun 16, 2017 at 6:52 AM, Rolf Rabenseifner < [
>> > mailto:rabenseifner at hlrs.de | rabenseifner at hlrs.de ] > wrote:
>> >
>> >
>> > Hi all together,
>> >
>> > I'm sitting in the MPI Forum Meeting and we discuss the new IEEE FP16
>> > datatype.
>> >
>> > Questions to the Fortran atandardization body:
>> >
>> > - Does the Fortran Standardization Body has already a proposal for
>> > the new name in Fortran for this IEEE FP16?
>> >
>> > - Will be REAL*2 identical to IEEE FP16?
>> >
>> > Best regards
> > > Rolf
--
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de .
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner .
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .
More information about the mpiwg-p2p
mailing list