Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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


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.