On 26 Nov 2001, at 19:18, George Woltman wrote:

> Hi,
> 
> At 12:46 AM 11/27/2001 +0100, george de fockert wrote:
> >One of my machines does trial factoring.
> >Now in the M17900000 range, factoring to 2^66.
> >This takes a very long time, is it better to let it double check ?
> 
> It is a matter of personal preference.  You can figure out how long a
> double-check would take at http://www.mersenne.org/bench.htm
> 
> Another option for slow machines is ECM factoring.  See
> http://www.mersenne.org/ecm.htm for details (this is not an
> automated project)

Or P-1 factoring. Again not automated.
> 
> >Or is it time for a more efficient trial factor implementation (if
> >possible ?).
> 
> If someone wants to volunteer to improve factoring performance that
> would be great.  The P4 could use an SSE2 implementation. 
> CPU-specific factoring code over 64 bits could be written.

I had a good look at this a couple of years ago. There are 
essentially two parts to the trial factoring "problem": one is 
generating candidate factors (or, rather, quickly avoiding those 
values which cannot for one reason or another possibly be factors), 
the other is actually trying the factor.

Whilst I was able to get reasonably close to the performance of 
George's code for trying the factor - possibly even a tiny bit better 
for factors with only just over 2^64 - I got nowhere near the 
performance of his candidate elimination code.

One of the lessons I learned from the effort is that multiple 
precision arithmetic is _hard work_ on systems which have only 
one carry flag. If SSE/SSE2 enables you to have multiple carry 
flags then you could effectively try two or more factors in parallel, 
this would yield a considerable performance increase. But I'm not 
sure offhand whether the instruction set supports this. In any case, 
slower systems (the ones that _should_ be running factoring?) 
don't in any case support SSE or SSE2.
> 
> While factoring could probably be improved tens of percent, it has not
> been a high priority item for me.  A 10% boost in factoring speed lets
> you factor (on average) 10% deeper, which finds about 1 more factor in
> every 650 exponents.  That isn't a great throughput improvement for
> the GIMPS project.

Indeed.

The other way to look at this (same conclusion) is that factoring is 
way, way ahead of LL testing, so any perceived inefficiency is not 
critical.

Regards
Brian Beesley
_________________________________________________________________________
Unsubscribe & list info -- http://www.ndatech.com/mersenne/signup.htm
Mersenne Prime FAQ      -- http://www.tasam.com/~lrwiman/FAQ-mers

Reply via email to