mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Conjectures 'R Us (https://www.mersenneforum.org/forumdisplay.php?f=81)
-   -   Testing new Ranges for Sierpinski/Riesel (https://www.mersenneforum.org/showthread.php?t=20357)

rogue 2017-08-24 20:10

[QUOTE=wombatman;466286]If you have Windows 10, it will build in the Ubuntu shell with
[CODE]g++ nsieve64.cpp -o nsieve64[/CODE]

And testing with
[CODE]./nsieve64 -s 6209,800000000,800000001 -N 6299 -o nsieve64_testoutput.txt -p 2,1000000000000[/CODE]

seems to be working. One note: you cannot currently use abbreviated inputs like 1e12; they must be typed out fully.[/QUOTE]

I recommend building with this:

g++ -O3 -m64 nsieve64.cpp -lstdc++ -o nsieve

It is currently slower than fermfact, but I found one optimization that seems to make it faster for multiple n, but I need to run some side-by-side comparisons with fermfact. If someone can build and compare with newpgen (for a single n), that would be great. Note that newpgen stops automatically when p > sqrt(maxk*2^n+1). nsieve does not stop automatically.

I also intend to modify nsieve to be multi-threaded, but I'm concerned about the performance it could take.

rogue 2017-08-24 20:26

I just ran one test. nsieve and newpgen do not produce the same outputs. I assume that nsieve must have some bugs in it. That will take time to resolve.

wombatman 2017-08-24 20:30

Yeah, I was just about to post the same thing. Using n=30 with k=8e8-800000500, I get 12 candidates remaining from newpgen. Nsieve's last output on screen shows 8 remaining, and the output file has the proper header and then nothing else.

pepi37 2017-08-24 20:31

I got empty output from your build Rogue

rogue 2017-08-24 20:36

[QUOTE=pepi37;466290]I got empty output from your build Rogue[/QUOTE]

It isn't my code. I'm trying to find contact information for Ken Brazier as he wrote it although I might be able to debug without his help.

rogue 2017-08-26 17:21

It appears to be a miscompile on Windows with mingw. The outputs on my Mac are different and appear to be correct, although I haven't run any comparisons.

wombatman 2017-08-26 20:07

Are you able to compile it on a Linux system at all and confirm whether it mismatches?

rogue 2017-08-29 00:29

[QUOTE=rogue;466377]It appears to be a miscompile on Windows with mingw. The outputs on my Mac are different and appear to be correct, although I haven't run any comparisons.[/QUOTE]

The first test I ran shows non-matching output on my Mac. I don't think this is a miscompile. It is either bad assembly code or the prime sieve is missing primes.

rogue 2017-08-30 23:27

nsieve is only for base 2, so it isn't too helpful for this project.

rogue 2017-12-15 16:48

I ran into an issue with srbsieve. When it breaks up large ranges for PRP testing it is skipping some of those ranges. I don't how that is happening, but I'm looking into it.

This means that if you did a large range of k with srbsieve it is likely that some of the k in pl_remain.txt have a prime for n < 25000. This has a definite impact on R3 and S3, but I can't speak for other bases. If you have used srbsieve then you should run from n=1 to 25000 for the k in pl_remain.txt to find any primes that it missed. There are no issues with the numbers in pl_prime.txt. They will be prime. Unfortunately this is going to create a lot of work for me due to the work I have done on S3.

Hopefully I will have time between Christmas and New Year's to track down the problem and fix it.

KEP 2017-12-15 18:42

Does this problem concern all versions of srbsieve or only those that did checkpoint and allowed to resume? I used for my R3 ranges, the version that did not support stopping and starting again - in other words no resume was allowed.


All times are UTC. The time now is 09:04.

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