mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Hardware > GPU Computing

Reply
 
Thread Tools
Old 2017-04-12, 02:02   #1
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·457 Posts
Default help request for LL double-check

Hi,
I'm working on a GPU LL-checker for radeon gpus (OpenCL-based ATM). I've started doing some validation runs (for debugging), and I get this interesting result:
the residue for M39527687, according to my implementation, is 0x8CDEA969BA2CF98B.

But this exponent has been validated (LLd twice) with the outcome 0x8CDEA969BA2CF98A (see http://www.mersenne.ca/exponent/39527687 ).

Now I'm mystified as to what would produce this strange off-by-one residue in my implem (I would normally expect a more catastrophic error from a bug).

Could somebody do one more LL on M39527687 (and report the residue), to convince me that the error is on my side.

thanks,
Mihai
preda is offline   Reply With Quote
Old 2017-04-12, 02:26   #2
GP2
 
GP2's Avatar
 
Sep 2003

5·11·47 Posts
Default

You didn't provide information about how much other testing you've done.

Have you tried your implementation on some very small exponents, say between 1M and 2M ?

If so, do you get the same off by one error?

If not, can you try it one more time on a different exponent in the 39M range and see if you get the same error?
GP2 is offline   Reply With Quote
Old 2017-04-12, 02:42   #3
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

11101011001102 Posts
Default

Quote:
Originally Posted by preda View Post
Now I'm mystified as to what would produce this strange off-by-one residue in my implem (I would normally expect a more catastrophic error from a bug).
I'd guess the odds are 2^63-to-1 that this is a program bug. Everything worked just fine except there is a bug in printing the 64-bit residue (most likely some kind of dropped carry out of the topmost bit). Is this your own program?
Prime95 is online now   Reply With Quote
Old 2017-04-12, 14:11   #4
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

137110 Posts
Default

The program right now works with some fixed power-of-two FFTs only (2M and 4M), which allows LL on about up-to-40M and up-to-80M (a bit less than that, about 18.5 bits per word). But it can't do too-small bits-per-word due to the way carry propagation is implemented (because small bits produce long carry chains).

Thus, in short, I haven't tested it on small exponents. OTOH I did test in on other exponents in the 35M range and it did produce the correct residue. For this particular exponent mentioned here I did run it twice, once with 2M FFT and once with the 4M, and got the same result.

This would seem to indicate the problem to be related to carry propagation, yes. This is my own program, I'm preparing right now to open source it on github just need to do a bit more polishing (and finding out the root of this bug).
preda is offline   Reply With Quote
Old 2017-04-12, 14:30   #5
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

35·13 Posts
Default

I can test it again, ETA 14-18 hours depending on how much I use my computer tonight.
ATH is offline   Reply With Quote
Old 2017-04-12, 15:22   #6
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3×457 Posts
Default

Thanks! it's a GPU LL? CUDALucas?
preda is offline   Reply With Quote
Old 2017-04-13, 06:47   #7
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

1100010101112 Posts
Default

As expected it matched: http://mersenne.org/M39527687

It was run on a Haswell-E 5960X using all 8 cores, Prime95 28.9 build 2.

Last fiddled with by ATH on 2017-04-13 at 06:47
ATH is offline   Reply With Quote
Old 2017-04-13, 07:07   #8
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3×457 Posts
Default

Thank you! indeed as expected.

Interesting, my program did verify correctly other exponents, e.g. https://www.mersenne.org/report_expo...000201&exp_hi=

Need to look deeper into this problem.
preda is offline   Reply With Quote
Old 2017-04-13, 07:10   #9
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·457 Posts
Default

A side question, how did you self-assign that exponent in prime95 for a 3rd LL? (I think the "manual testing" web interface would not assign an exponent that's already verified).
preda is offline   Reply With Quote
Old 2017-04-13, 07:37   #10
GP2
 
GP2's Avatar
 
Sep 2003

1010000110012 Posts
Default

Quote:
Originally Posted by preda View Post
A side question, how did you self-assign that exponent in prime95 for a 3rd LL? (I think the "manual testing" web interface would not assign an exponent that's already verified).
You can always add a line like this:

Code:
AdvancedTest=39527687
But I just checked and this isn't documented in either readme.txt or undoc.txt

PS,
If mprime/Prime95 is not running, you can just edit worktodo.txt directly to add the line.

If it is already running, then it's best to create a new file called either worktodo.add or worktodo.add.txt with the line, and then mprime/Prime95 will automatically delete this file and append its contents to worktodo.txt the next time it does a disk write of save files (every ten minutes, by default, unless you changed DiskWriteTime in prime.txt).

If you edit worktodo.txt directly while mprime/Prime95 is already running, then your changes might get overwritten and undone. However, this will usually work if you also create an empty worktodo.add or worktodo.add.txt file. I've done this, for instance, to reorder the lines in worktodo.txt in order to pause one exponent and start another. As above, this takes effect at the next disk write (e.g., 10 minutes after the timestamp on your p* save files).

Last fiddled with by GP2 on 2017-04-13 at 08:12
GP2 is offline   Reply With Quote
Old 2017-04-13, 12:01   #11
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

35·13 Posts
Default

I just added the line to the worktodo.txt
Test=39527687,75,1
ATH is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Double-check request Xyzzy Mlucas 21 2015-06-10 14:34
Double Check Unregistered Information & Answers 3 2011-10-01 04:38
First check and double check llrnet servers. opyrt Prime Sierpinski Project 3 2009-01-02 01:50
Double-check check? M0CZY Software 15 2008-10-30 14:20
Double Check P-1 PhilF PrimeNet 6 2005-07-03 14:36

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


Sat Jul 17 05:11:12 UTC 2021 up 50 days, 2:58, 1 user, load averages: 1.78, 2.07, 2.08

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.