On Wed, Oct 14, 2015 at 02:40:00PM +0100, Vladimír Fuka wrote: > Hello, > > I have a problem with using the quadruple (128bit) or extended > (80bit) precision reals in Fortran. I did my tests with gfortran-4.8.5 > and OpenMPI-1.7.2 (preinstalled OpenSuSE 13.2), but others confirmed > this behaviour for more recent versions at > http://stackoverflow.com/questions/33109040/strange-result-of-mpi-allreduce-for-16-byte-real?noredirect=1#comment54060649_33109040 > . > > When I try to use REAL*16 variables (or equivalent kind-based > definition) and MPI_REAL16 the reductions don't give correct results > (see the link for the exact code). I was pointed to this issue ticket > https://github.com/open-mpi/ompi/issues/63.
As that ticket notes if REAL*16 <> long double Open MPI should be disabling redutions on MPI_REAL16. I can take a look and see if I can determine why that is not working as expected. > Is there a correct way how to use the extended or quadruple precision > in OpenMPI? My intended usage is mainly checking if differences seen > numerical computations are getting smaller with increasing precision > and can therefore be attributed to rounding errors. If not they could > be a sign of a bug. Take a look at the following article: http://dl.acm.org/citation.cfm?id=1988419&CFID=553203244&CFTOKEN=11814269 You may be able to use the method described to get the enhanced precision you need. -Nathan HPC-5, LANL
pgp3p5D1g27uS.pgp
Description: PGP signature