Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Use of __float128 with openmpi
From: Tim Prince (n8tm_at_[hidden])
Date: 2014-02-01 15:26:13


On 02/01/2014 12:42 PM, Patrick Boehl wrote:
> Hi all,
>
> I have a question on datatypes in openmpi:
>
> Is there an (easy?) way to use __float128 variables with openmpi?
>
> Specifically, functions like
>
> MPI_Allreduce
>
> seem to give weird results with __float128.
>
> Essentially all I found was
>
> http://beige.ucs.indiana.edu/I590/node100.html
>
> where they state
> ----
> MPI_LONG_DOUBLE
> This is a quadruple precision, 128-bit long floating point number.
> ----
>
> But as far as I have seen, MPI_LONG_DOUBLE is only used for long doubles.
>
> The Open MPI Version is 1.6.3 and gcc is 4.7.3 on a x86_64 machine.
>
It seems unlikely that 10 year old course notes on an unspecified MPI
implementation (hinted to be IBM power3) would deal with specific
details of openmpi on a different architecture.
Where openmpi refers to "portable C types" I would take long double to
be the 80-bit hardware format you would have in a standard build of gcc
for x86_64. You should be able to gain some insight by examining your
openmpi build logs to see if it builds for both __float80 and __float128
(or neither). gfortran has a 128-bit data type (software floating point
real(16), corresponding to __float128); you should be able to see in the
build logs whether that data type was used.