mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > Sierpinski/Riesel Base 5

Reply
 
Thread Tools
Old 2006-11-25, 23:23   #155
michaf
 
michaf's Avatar
 
Jan 2005

479 Posts
Default

Around 12% faster on an athlon 64-x2 too :)

Everyone upgrade now!
michaf is offline   Reply With Quote
Old 2006-11-26, 00:30   #156
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

13×89 Posts
Default BUG in sr5sieve 1.2.4-1.4.2 (64-bit builds only)

There was a major bug introduced in sr5sieve version 1.2.4 that probably causes about 75% of factors to be missed by the k8 and ppc64 builds. (It doesn't affect 64-bit hardware running the linux32 or mingw32 binaries in compatibility mode).

I Hope to have a fix tomorrow. Sorry for the trouble.
geoff is offline   Reply With Quote
Old 2006-11-26, 07:15   #157
michaf
 
michaf's Avatar
 
Jan 2005

479 Posts
Default

As seen from the factor-reports, everyone reports just about as much factors as expected, so I don't think you'll have to worry too much.
michaf is offline   Reply With Quote
Old 2006-11-26, 16:21   #158
michaf
 
michaf's Avatar
 
Jan 2005

479 Posts
Default

Geoff, can you make it happen, in a future release,
that sr5sieve will also accept work of the form:
3000-3050

instead of only
3000,3050
?

Cheers, Micha
(Who happend to have made this 'typo' more then once already :> )
michaf is offline   Reply With Quote
Old 2006-11-26, 20:44   #159
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

13×89 Posts
Default sr5sieve 1.4.3 bug fix.

This version fixes a major problem in the bitmap code for 64-bit builds. If you are using the 32 bit mingw32 or linux32 builds then there is no need to upgrade.

Quote:
Originally Posted by michaf View Post
Geoff, can you make it happen, in a future release,
that sr5sieve will also accept work of the form:
3000-3050
I'll do this in the next version.
geoff is offline   Reply With Quote
Old 2006-11-27, 19:55   #160
Xentar
 
Xentar's Avatar
 
Sep 2006

18710 Posts
Default

Ehm, sorry for this question, but can someone please explain the difference of 586 and 686 to me?
I always used the 686 version. Now i tried the 586 just for fun, and I see, that it is almost as fast as the 686 - so what´s the difference?
Is 686 for 64bit processors, or something like this?

Running WinXP 32 Bit, on a Core2 Duo.
Xentar is offline   Reply With Quote
Old 2006-11-28, 20:22   #161
axn
 
axn's Avatar
 
Jun 2003

32×5×113 Posts
Default

Quote:
Originally Posted by geoff View Post
I'll do this in the next version.
Geoff, I have a feature request. Could you make it so that the Legendre table lookup can be written to a file once and load from it next time onwards (instead of recomputing everytime)? Obviously "sr5sieve -d" option has to remove the lookup info also. [It should probably have some checksum logic to avoid unwittingly using a corrupt lookup file]

PS:- All this is assuming that it is faster to load a file than compute the lookup.
axn is offline   Reply With Quote
Old 2006-11-28, 20:26   #162
axn
 
axn's Avatar
 
Jun 2003

508510 Posts
Default

Quote:
Originally Posted by Xentar View Post
Ehm, sorry for this question, but can someone please explain the difference of 586 and 686 to me?
586 is for plain Pentium and Pentium MMX. 686 is for PPro, PII, PIII.

For modern processors, it doesn't really matter. But going with the higher one is better. If only it was SSE2 optimized...
axn is offline   Reply With Quote
Old 2006-11-28, 23:01   #163
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

48516 Posts
Default

Quote:
Originally Posted by Xentar View Post
I always used the 686 version. Now i tried the 586 just for fun, and I see, that it is almost as fast as the 686 - so what´s the difference?
Quote:
Originally Posted by axn1 View Post
586 is for plain Pentium and Pentium MMX. 686 is for PPro, PII, PIII.

For modern processors, it doesn't really matter. But going with the higher one is better. If only it was SSE2 optimized...
In sr5sieve the critical code is in the mulmod64() function. Prior to version 1.4.0 this function could run about 5% faster by using a conditional move instruction (only available for i686) to replace a branch instruction. With the new mulmod code in version 1.4.x, using a conditional move works out slower than a branch, so there is now little difference between the i586 and i686 builds.

(I think the reason for this is that the branch that was replaced in the old version had about a 50% chance of being taken. In the new version the branch is not usually taken, so the CPU branch prediction algorithm works better and a conditional move is not worthwhile).

I have been trying to write a SSE2 version of mulmod64(), but I have come to the conclusion that it is not worthwhile for 32-bit machines. The basic problem is that it doesn't seem possible to load a 64-bit integer into a double-precision SSE register without first going through the FPU. (64-bit machines do have such an instruction).

Simply compiling for SSE2 with GCC (flags -march=pentium4 -msse2 -fpmath=sse) results in code that runs slower on a P4 than when compiled without SSE2.

Last fiddled with by geoff on 2006-11-28 at 23:01
geoff is offline   Reply With Quote
Old 2006-11-28, 23:15   #164
Citrix
 
Citrix's Avatar
 
Jun 2003

158210 Posts
Default

I was trying to sieve

Code:
myfile.txt
1665624349782373*2^n-1
10075614324682349*2^n-1
12782924755172441*2^n-1
15335906269828439*2^n-1
23009979551311559*2^n-1
30729699810869707*2^n-1
41360993926068041*2^n-1
49050506465852977*2^n-1
49791527843569597*2^n-1
50670759245200691*2^n-1
72292129717621199*2^n-1
from the 15 k low weight project from 1-2 million, the srsieve for windows just freezes, it does not start working for 15 mins or so, no factor output etc. Is this a bug?

(cmd prompt: srsieve --nmax 2000000 myfile.txt --pmax 100000000 --factors --verbose)

Thanks

Last fiddled with by Citrix on 2006-11-28 at 23:16
Citrix is offline   Reply With Quote
Old 2006-11-28, 23:17   #165
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

22058 Posts
Default

Quote:
Originally Posted by axn1 View Post
Could you make it so that the Legendre table lookup can be written to a file once and load from it next time onwards (instead of recomputing everytime)? Obviously "sr5sieve -d" option has to remove the lookup info also. [It should probably have some checksum logic to avoid unwittingly using a corrupt lookup file]
michaf requested this feature earlier. The file will be large, about 20MB, but it should be faster to load than recomputing the tables each time.

If I can't find a way to speed up the table creation then I'll implement this.
geoff is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Very Prime Riesel and Sierpinski k robert44444uk Open Projects 587 2016-11-13 15:26
Sierpinski/ Riesel bases 6 to 18 robert44444uk Conjectures 'R Us 139 2007-12-17 05:17
Sierpinski/Riesel Base 10 rogue Conjectures 'R Us 11 2007-12-17 05:08
Sierpinski / Riesel - Base 23 michaf Conjectures 'R Us 2 2007-12-17 05:04
Sierpinski / Riesel - Base 22 michaf Conjectures 'R Us 49 2007-12-17 05:03

All times are UTC. The time now is 05:55.


Fri Aug 6 05:55:36 UTC 2021 up 14 days, 24 mins, 1 user, load averages: 3.48, 3.50, 3.22

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.