[petsc-dev] PETSc in double-double and quad-double...
Barry Smith
bsmith at mcs.anl.gov
Mon Jan 11 13:53:59 CST 2010
On Jan 8, 2010, at 10:53 PM, Kai Germaschewski wrote:
> gmp is part of macports, so it's as easy as "port install gmp" here.
>
> If you want to put it into petsc's build system, looking at the
> macports portfile / patches will probably reveal what's necessary to
> "port" it.
Thanks for the suggestion. I was able to install gmp with port (but
that didn't help me figure out how to do it with source code :-(
Now I'm hanging on bug fixes to mpack's autoconf
Barry
>
> --Kai
>
>
> On Fri, Jan 8, 2010 at 9:56 PM, Barry Smith <bsmith at mcs.anl.gov>
> wrote:
>
> 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
>
>
>
>
> --
> Kai Germaschewski
> Assistant Professor, Dept of Physics / Space Science Center
> University of New Hampshire, Durham, NH 03824
> office: Morse Hall 245F
> phone: +1-603-862-2912
> fax: +1-603-862-2771
>
More information about the petsc-dev
mailing list