gmp is part of macports, so it's as easy as "port install gmp" here.<br><br>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.<br>
<br>--Kai<br><br><br><div class="gmail_quote">On Fri, Jan 8, 2010 at 9:56 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
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.<br>
<br>
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 .....<br>
<br>
Cool idea but I am so pissed at bullshit non-portable code that pretends to be portable I'm giving up!<br><font color="#888888">
<br>
<br>
Barry</font><div><div></div><div class="h5"><br>
<br>
On Nov 4, 2009, at 2:27 PM, Matthew Knepley wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Nov 4, 2009 at 2:21 PM, Jed Brown <<a href="mailto:jed@59a2.org" target="_blank">jed@59a2.org</a>> wrote:<br>
Matthew Knepley wrote:<br>
> On Wed, Nov 4, 2009 at 2:06 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a><br>
> <mailto:<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>>> wrote:<br>
><br>
><br>
> This is tricky because some C/C++ compilers long double uses 128<br>
> bits of space but actually (on Intel) only uses 80 of the bits<br>
> (those are the bits that floating point unit handles). So you do not<br>
> really get 128 bits. Also MPI may not properly handle the 128 bit<br>
> doubles.<br>
><br>
><br>
> I figured that his types were just C++ types once he said they were<br>
> provided by a package.<br>
<br>
QD is honest quad-double (32 bytes, all of them significant)<br>
<br>
<a href="http://crd.lbl.gov/%7Edhbailey/mpdist/" target="_blank">http://crd.lbl.gov/~dhbailey/mpdist/</a><br>
<br>
They are C++ types with appropriate overloading, but the operations are<br>
implemented in terms of conventional double-precision where as "long<br>
double" is a different beast.<br>
<br>
Okay, then this should be no harder than complex.<br>
<br>
> I am investigating qd now. Is there any MPI implementation that<br>
> uses qd? Do you need MPI?<br>
><br>
><br>
> Can't we just make a type the correct number of bytes long?<br>
<br>
I think so (on homogeneous hardware), but you have to create your own<br>
version of each MPI_Op that does the right thing with this longer type.<br>
<br>
Yep, we do that now for several things in PETSc.<br>
<br>
Matt<br>
<br>
Jed<br>
<br>
<br>
<br>
<br>
-- <br>
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Kai Germaschewski<br>Assistant Professor, Dept of Physics / Space Science Center<br>University of New Hampshire, Durham, NH 03824<br>office: Morse Hall 245F<br>
phone: +1-603-862-2912<br>fax: +1-603-862-2771<br><br>