Is there anyone still working on MPIR who really thinks we should
support NAILS?

I've got slightly stronger opinions about this now than I did before:

* If we want people to contribute code to MPIR, then NAILS is a
complication which developers can really do without. We don't have
anyone with the time required to keep maintaining NAILS for all the
new code people commit (and inevitably make NAILS unsafe), and there
seems to be little motivation to do so. We all know it doesn't help on
modern architectures.

* In order to use NAILS, one needs to rebuild MPIR with NAILS turned
on, i.e. it is a configure time option. Many of the packages that use
GMP as a standard library also use mpn's and rely on a build with
NAILS = 0. For this reason, a build of MPIR with NAILS > 0 is unlikely
to be very useful just hanging around on someone's drive. There's very
little motivation for people to build MPIR with NAILS.

* Most of GMP/MPIR's functionality depends on multiplication of
multiprecision integers, where carries into the next limb are
important. Certainly when doing scalar multiplications, as one
encounters in linear algebra, "NAILS = 11" could be very valuable (as
I found out recently), as modern processors will multiply doubles
faster than unsigned longs (of course that is not what NAILS = 11
actually does, but anyway). But for multiprecision integer
multiplication, this is not sensible. Really NAILS is only a useful
trick for machines without proper carry propagation.

* It's another complication for the build system which we can do
without if we ever hope to move away from automagic.

So, my question is, should we jettison NAILS from MPIR?

My proposal would be to:

* disable it temporarily as a configure option (we have to do this at
the very least due to the NAILS = 2 issue jason reported to do with
the new gcd code, and we already disabled odd NAILS due to the sqrt
code)

* wait until we see how things pan out for GPU's (where perhaps NAILS
will prove useful)

* eventually remove all the NAILS code altogether from MPIR if it
proves useless (as I believe it will)

What do you guys think?

Bill.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to