[petsc-dev] PETSc in double-double and quad-double...
Barry Smith
bsmith at mcs.anl.gov
Fri Jan 8 20:56:30 CST 2010
I'm giving up on this for now. Building BlasLapack from the f or
f2c source code of BlasLapack with qd is hopeless. So one could use
mpack, but mpack requires gmp to build, but I am unable to build gmp
on my Mac because it is not as portable as it is suppose to be.
There is a config/PETSc/packages/qd.py gmp.py and mpack.py if
anyone wants to see if they can get the pieces built. Note: you will
need to get the tarballs yourself, they are not on the website. If you
hack MPACK to get things running then please do it in an hg
repository. You might be able to hack mpack so it does not need gmp to
build but .....
Cool idea but I am so pissed at bullshit non-portable code that
pretends to be portable I'm giving up!
Barry
On Nov 4, 2009, at 2:27 PM, Matthew Knepley wrote:
> 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/
>
> 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
More information about the petsc-dev
mailing list