mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Sierpinski/Riesel Base 5 (https://www.mersenneforum.org/forumdisplay.php?f=54)
-   -   A multiple k/c sieve for Sierpinski/Riesel problems (https://www.mersenneforum.org/showthread.php?t=5785)

geoff 2007-10-20 21:20

srsieve 0.6.7, bug fix.
 
Lavalamp has found a serious bug affecting srsieve versions 0.5.0 to 0.6.6.

The bug could cause factors for a sequence to be missed if both of the following conditions occur:

1. The sequence k*b^n+c has both odd and even exponents n in the sieve.
2. The subsequence base b^Q selected by srsieve has an odd exponent Q.

The first condition is easy to check, for sequences k*2^n+/-1 it applies to k that are multiples of 3. But the only way to check the second condition is probably to re-run srsieve using the original sieve file and parameters, and look for a message like:

`Split X base b sequences into Y base b^Q subsequences.'

If the exponent Q is odd then the bug might have affected the sequence. If the exponent Q is even, or if no message was printed, then the bug didn't affect the sequence.

Any missed factors will divide terms k*b^n+c with even n.

If anyone is faced with spending a large amount of CPU time searching for factors missed by this bug, let me know the details of the sieve by PM or email and I might be able to narrow the search space further.

This bug didn't affect any version of sr[125]sieve.

BlisteringSheep 2007-10-20 21:48

[QUOTE=BlisteringSheep;116763]Geoff, There's a compilation error in mulmod-ppc64.c, line 8, undeclared variable 'p'. I think it's just a copy-and-paste, where the function parameter is named 'b' and and should be 'p' instead. At least that's the change I made. :)[/QUOTE]

I suppose I should said this was against sr1sieve-1.2.0? :blush:

geoff 2007-10-20 22:22

[QUOTE=BlisteringSheep;116770]Geoff, There's a compilation error in mulmod-ppc64.c, line 8, undeclared variable 'p'. I think it's just a copy-and-paste, where the function parameter is named 'b' and and should be 'p' instead. At least that's the change I made. :)[/QUOTE]

Thanks, I'll fix it in the next release.

[QUOTE]FYI, here's some startup info for v1.1.12 and v1.2.0 on a 970MP:[/QUOTE]

I don't expect the sr1sieve 1.2.x and sr2sieve 1.6.x versions to benefit the PPC64 yet, any change in speed so far is purely accidental :-)

BlisteringSheep 2007-10-20 23:07

[QUOTE=geoff;116772]I don't expect the sr1sieve 1.2.x and sr2sieve 1.6.x versions to benefit the PPC64 yet, any change in speed so far is purely accidental :-)[/QUOTE]

I didn't expect any speedup either. :) I mainly wanted to let you know that there also wasn't any slowdown, and also to let you see the step methods, etc., it was choosing :tu:

Keep up the good work! One question: is there a test suite like sr5check for sr1sieve?

geoff 2007-10-20 23:35

[QUOTE=BlisteringSheep;116776]Keep up the good work! One question: is there a test suite like sr5check for sr1sieve?[/QUOTE]

I will upload one on the next day or two. If you need something now you could convert the sr5check.txt to NewPgen format using `srfile -g sr5check.txt' then run `sr1sieve -i sr5check.txt -p 100e6 -P 150e6 -f factors.txt' on each of the individual .npg files.

Cruelty 2007-10-21 10:36

Under linux x64, latest versions of both sr1 and sr2 do not print benchmark for "giant step" using -vv switch...

geoff 2007-10-22 21:14

[QUOTE=BlisteringSheep;116776]One question: is there a test suite like sr5check for sr1sieve?[/QUOTE]

I have uploaded an archive sr1check.zip in the same directory as the sr1sieve source. There are instructions in the README.

[QUOTE=Cruelty]Under linux x64, latest versions of both sr1 and sr2 do not print benchmark for "giant step" using -vv switch...[/QUOTE]

There is only one giant step method for x86-64 now, so no need for a benchmark.

BlisteringSheep 2007-10-23 05:20

[QUOTE=geoff;116848]I have uploaded an archive sr1check.zip in the same directory as the sr1sieve source. There are instructions in the README.[/QUOTE]

[B]Thanks.[/B] Everything tested out fine, both with "make check" and with the sr1check files.

Is there any thing I could do to help you (tests to run, measurements to gather, etc.)? I've been working with some small projects that use sr1sieve instead of my normal sr2sieve. I'm always glad to run any tests you'd like of any of your programs or variants on any of my different PowerPCs.

geoff 2007-10-25 02:00

sr2sieve 1.6.11
 
This version has a new -j or --sobistrator switch will make sr2sieve behave in a similar way to JJsieve or proth_sieve, for compatibility with Sobistrator:[list]Checkpoints will be written to SoBStatus.dat, including a kp/s speed measured using elapsed time.[/list][list]If no range is given on the command line, or if the range given matches the one in SoBStatus.dat, work will resume from SoBStatus.dat. If the range given on the command line is different to the one in SoBStatus.dat then the one given on the command line will be used and a warning given.[/list][list]After the current range finishes, subsequent ranges will be read from nextrange.txt.[/list][list]Factors will be written to fact.txt and duplicates to factexcl.txt (these file names can be overridden with the -f and -D switches.)[/list]Idealy it should be possible to start a range with JJsieve and continue it with `sr2sieve -j -s', and vice versa.

mdettweiler 2007-10-25 15:52

[quote=geoff;117010]This version has a new -j or --sobistrator switch will make sr2sieve behave in a similar way to JJsieve or proth_sieve, for compatibility with Sobistrator:[LIST][*]Checkpoints will be written to SoBStatus.dat, including a kp/s speed measured using elapsed time.[/LIST][LIST][*]If no range is given on the command line, or if the range given matches the one in SoBStatus.dat, work will resume from SoBStatus.dat. If the range given on the command line is different to the one in SoBStatus.dat then the one given on the command line will be used and a warning given.[/LIST][LIST][*]After the current range finishes, subsequent ranges will be read from nextrange.txt.[/LIST][LIST][*]Factors will be written to fact.txt and duplicates to factexcl.txt (these file names can be overridden with the -f and -D switches.)[/LIST]Idealy it should be possible to start a range with JJsieve and continue it with `sr2sieve -j -s', and vice versa.[/quote]
Is it compatible with Rieselator, too?

axn 2007-10-25 17:20

[QUOTE=Anonymous;117043]Is it compatible with Rieselator, too?[/QUOTE]

Should be, on account of the fact that you can specify different file name instead of RieselStatus.dat (need to set it as SobStatus.dat, I guess). Everything else stays the same.

EDIT:- I would even say that Sobistrator and Rieselator are interchangeable !!


All times are UTC. The time now is 20:52.

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