On Wed, Nov 4, 2009 at 2:21 PM, Jed Brown <jed at 59a2.org> wrote: > Matthew Knepley wrote: > > On Wed, Nov 4, 2009 at 2:06 PM, Barry Smith <bsmith at mcs.anl.gov > > <mailto:bsmith at mcs.anl.gov>> wrote: > > > > > > This is tricky because some C/C++ compilers long double uses 128 > > bits of space but actually (on Intel) only uses 80 of the bits > > (those are the bits that floating point unit handles). So you do not > > really get 128 bits. Also MPI may not properly handle the 128 bit > > doubles. > > > > > > I figured that his types were just C++ types once he said they were > > provided by a package. > > QD is honest quad-double (32 bytes, all of them significant) > > http://crd.lbl.gov/~dhbailey/mpdist/<http://crd.lbl.gov/%7Edhbailey/mpdist/> > > They are C++ types with appropriate overloading, but the operations are > implemented in terms of conventional double-precision where as "long > double" is a different beast. >
Okay, then this should be no harder than complex. > > I am investigating qd now. Is there any MPI implementation that > > uses qd? Do you need MPI? > > > > > > Can't we just make a type the correct number of bytes long? > > I think so (on homogeneous hardware), but you have to create your own > version of each MPI_Op that does the right thing with this longer type. > Yep, we do that now for several things in PETSc. Matt > Jed > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20091104/74a5998e/attachment.html>