[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