Hi all,

to get things moving again after a short hiatus, I propose four things:

************ AN FAQ **************

 I'd like to have accessible on our website a shiny new FAQ. As MPIR
is a library, i.e. primarily aimed at other developers, I'd like to
have the FAQ focus on MPIR development and how people can contribute.
In particular I'd like to answer a lot of questions which people have
asked on and off list about the direction MPIR is heading, and some of
the key benefits of the MPIR package (we are developing support for
parallelism, we support Windows MSVC, we test on OSX (64 bit for now)
and Solaris).

I'd also like to aim to answer the many questions prospective
developers have about how to contribute. So far two ways have become
popular. The core developers have been happily using svn. Numerous
others have offered code on the google group files upload section. We
should officially recognise both. But we also have a GIT repository,
and I'd like to encourage people to contribute via that, who feel more
comfortable with distributed revision control.

Do people have questions they'd like answered? Let's make a start here
at this post. I'm willing to put in some hours to begin writing this.
Who'd like to help?

************* SKIP MPIR 1.2.2 : LET'S START ON MPIR 1.3!! ***************

(Because major releases are more fun. :-) )

 I propose we ditch the 1.2.2 release, which was slated to contain
Robert Gerbicz's fast root test code. It still remains a priority to
get this in, and I have rewritten most of what he submitted in mpn
format. But we need numerous other functions implemented at the mpn
level before this code will work. So let's not hold up development on
account of some artificial requirement that this be done before the
very next release.

Instead we should go straight to version 1.3. I think it is actually
possible to include crude parallel support in this version with a
configure option --enable-mt, though some things like tuning code may
be broken for now. The test code will have to be fixed though.

Alternatively we can refocus on further core development, such as
writing mulmid_basecase in assembly and getting David Harvey's superb
new middle product code in, on improving Toom 3 further, and faster
extended GCD and GCD.

I also think we should include better development documentation. There
is already documentation about how to add files to MPIR and have them
build. But a nice pdf file accessible from the webpage called MPIR
Development would be really nice, explaining the nuts and bolts to
potential developers, particularly with respect to mpn level coding.

But let's put in version 1.3 whatever is ready.

************** NEW BENCHMARK UTILITY ****************

We should also release a new benchmark utility, which Brian has been
working away on furiously. I would like to float the idea of not
having an overall score, but merely scores for each section,
Multiplication, Division, GCD, Real World Benchmarks. That way
deciding on weighting factors is not important. To some developers 1
and 2 limb stuff is the most important thing, to others it is extended
GCD, to others real world performance, to others, multiplication is
the only thing which really matters. Actually a survey was done of the
number of calls to mathematical operations in code and multiplication
far and above accounted for the majority of such calls. Fast
multiplication must remain the priority (though we should not fall
behind in development in other areas either).

Ultimately our benchmarks will have to measure per core performance.
Multicore support is clearly the only way to beat Moore's law that is
on the horizon. We must embrace it.


************** PUT THE GIT REPO ON THE WEBPAGE *********************

 As mentioned, let's get the GIT repo updated on the main website and
start encouraging people to check it out. I'd also like to have an
html commit log, similar to what the GMP project gets from its HG. It
doesn't matter if that comes from svn or GIT, either way it is useful.
I propose that the core devs (and anyone else interested) also get all
commit messages emailed to them by default so that we can begin
scrutinising each other's code more easily.

************** FORTNIGHTLY MPIR DIGEST ****************

 At least once a fortnight or ever three weeks we should have an MPIR
digest which summarises what development has taken place, and what
projects people can be involved in, also proposed improvements which
others might like to volunteer to work on. This Digest would include a
short Most Wanted list, of most wanted features. I volunteer to write
the digest, though I'd be happy to share the responsibility with
anyone. It will be posted to mpir-devel.

Comments? Questions? Suggestions?

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