mersenneforum.org  

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

Reply
 
Thread Tools
Old 2020-10-23, 06:08   #111
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3×443 Posts
Default Proof v2 self-verification

With proof v2 the points at which the proof residues are collected are not affected by the power anymove. So the residues that are good for power N are also good for any power <N. (but a higher power needs more residues, as usual).

Writing the proof residues to disk should also be more reliable now. Please report any missing or corrupted proof residues -- that shouldn't happen [anymore].

A new argument was added, -autoverify <power>
with the default autoverify power==9;
this does auto-verification for any proof with power >= autoverify-power.

For example, with the defaults (autoverify==9), if generating a proof of power 9 (that would require -proof 9), the proof will be verified (for an additional cost of 0.2% PRP) at the end. If the verification fails, the proof will be re-generated and re-verified once. If this still fails, the (bad) proof is written and an exception is thrown.

This is useful for users who can afford higher powers such as 9 or 10. At these powers the cost of self-verification is small enough to be worth keeping it ON by default. The self-verified proofs are expected to be good and not to generate verification errors on the server. It's also a debugging feature allowing to catch "bad proof generation" early.

Last fiddled with by preda on 2020-10-23 at 06:12
preda is offline   Reply With Quote
Old 2020-10-23, 06:26   #112
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·443 Posts
Default Feature requests and remaining issues

At this point the main items for 7.x are getting close to being complete.

Please let me know what you'd like changed/added/removed, bugs and annoying behaviours, etc.

[I don't promise any of the requests will be addressed, of course]
preda is offline   Reply With Quote
Old 2020-10-23, 07:24   #113
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
Jun 2011
Thailand

8,963 Posts
Default

Quote:
Originally Posted by preda View Post
Please let me know what you'd like changed/added/removed, bugs and annoying behaviours, etc.
LL with GC and RS?
LaurV is offline   Reply With Quote
Old 2020-10-23, 07:40   #114
Viliam Furik
 
Jul 2018
Martin, Slovakia

23·3·11 Posts
Default

Quote:
Originally Posted by LaurV View Post
LL with GC and RS?
Seconded...
Viliam Furik is online now   Reply With Quote
Old 2020-10-23, 08:28   #115
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3×443 Posts
Default

Quote:
Originally Posted by LaurV View Post
LL with GC and RS?
But what is RS? "S" must be something to do with "Shift", right?
preda is offline   Reply With Quote
Old 2020-10-23, 08:34   #116
kruoli
 
kruoli's Avatar
 
"Oliver"
Sep 2017
Porta Westfalica, DE

2·11·17 Posts
Default

Random Shift, I guess. That's what a lot of us want.
kruoli is online now   Reply With Quote
Old 2020-10-23, 09:02   #117
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·443 Posts
Default

Quote:
Originally Posted by kruoli View Post
Random Shift, I guess. That's what a lot of us want.
Thanks; I'm not personally interested in that direction. I could explain why (I think the GEC is great, really low overhead and extremely good error protection), but after all that only explains my preference, and others of course have different preferences.

OTOH somebody should step up, fork a branch of the code, and do the LL+RS and maintain it. I'm not against that. As a side-benefit, one more person (in addition to the current contributors) would become accustomed with the code.

Until then, the request has been noted :)
preda is offline   Reply With Quote
Old 2020-10-23, 09:08   #118
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

11·433 Posts
Default

Quote:
Originally Posted by preda View Post
At this point the main items for 7.x are getting close to being complete.

Please let me know what you'd like changed/added/removed, bugs and annoying behaviours, etc.

[I don't promise any of the requests will be addressed, of course]
Thanks for being open to user input that could involve a lot of work.
A few ideas:
Return of LL DC.
Persistent save files every 10M or 20M iterations, for salvaging part of long runs that go wrong along the way despite the Jacobi check.
There may be fft boundary adjustments or other issues since I've hit exponents that steadily accumulate error counts in the same iteration stretch, with different examples found in V6.11-380 LL or V7 P-1 during PRP.
Perhaps occasional light maintenance of the V6.11 branch, for things V7 does not include.
Documentation in detail.
FFT lengths capable of gigadigit candidates P-1 factoring. (The OBD subproject currently only has TF capability.)
Then there's F33.

Repeated-error handling seems to have changed from a 3-strikes-game-over model to an infinite loop model.
I'd like to see an n-strikes-you're-benched as a comment, next assignment is up to bat model, for sustained unattended runs, that make progress on some work regardless of error behavior of individual work lines, given a sufficiently large work queue.

If you're looking for ideas for V7.2 or 8, there's Gerbicz's LL proof concept.
PRP proof would still be the way to go for routine first testing because of the GEC and less disk space for proof generation than the LL proof's massive requirements.
PRP with proof has proof of correct completion but can't prove a prime.
LL as available now identifies a prime but hasn't the proof of correctness. But a proof for a correct LL test of Mersenne primes would raise the level of confidence, above that of matching residues, and could become the new higher standard for confirming Mersenne prime discoveries.
In that case, smaller fft lengths would allow confirmation on old discoveries.

GEC and PRP proof and maybe someday LL proof all reduce the case for nonzero shift. But maybe not quite to zero.
Zero shift pretty nearly identifies a result in the database as gpuowl these days.
Pseudorandom shift would relax restrictions on application or manual assignment when doing LL DC.
There's the argument we should quit doing LL DC and occasional LLTC etc and do PRP with proof in its place, for considerably higher reliability and a very slight speed advantage, giving up the check of the existing first LL residue.
Shift doesn't have much utility if we only perform a single PRP with proof on an exponent.

Last fiddled with by kriesel on 2020-10-23 at 09:35
kriesel is offline   Reply With Quote
Old 2020-10-23, 09:36   #119
Viliam Furik
 
Jul 2018
Martin, Slovakia

10816 Posts
Default

Quote:
Originally Posted by preda View Post
Thanks; I'm not personally interested in that direction. I could explain why (I think the GEC is great, really low overhead and extremely good error protection), but after all that only explains my preference, and others of course have different preferences.

OTOH somebody should step up, fork a branch of the code, and do the LL+RS and maintain it. I'm not against that. As a side-benefit, one more person (in addition to the current contributors) would become accustomed with the code.

Until then, the request has been noted :)
I would gladly and happily do it if you explained the code to me.

I am pretty sharp and I know my way around Python, but I haven't learned the C yet. (I know it's a different kind of language, but still, it is a language for a computer, so the main structure - how does it do its thing, not how is it called, or how is it "translated" to the 1s and 0s - is always almost the same.) It is not exactly clear to me how the FFT process works, but I've got a rough idea. Same for the random shift. I must admit, FP numbers are a bit hazy for me, but as I said, I can learn quickly.

So if you'd be willing to explain it in some video-chat with sharing the screen (I'm having a lot of them these days , as school replacement), I think I could be of help.
Viliam Furik is online now   Reply With Quote
Old 2020-10-23, 10:17   #120
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
Jun 2011
Thailand

8,963 Posts
Default

Yep. If random shift implemented, the GC (Gerbicz Check) is not necessary (for me). Of course, other people here will say otherwise, and they may be right, but my selfish goal is to be able to run LL and DC in the same time and be able to report both of them, to clear the exponent (yeah, I know pros and cons, don't need to re-open those arguments, my hardware, my time, my electricity money ). Because is not fun to run both LL and DC and only get credit for one as long as I keep both cards occupied.
LaurV is offline   Reply With Quote
Old 2020-10-23, 22:53   #121
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·443 Posts
Default

Quote:
Originally Posted by Viliam Furik View Post
I would gladly and happily do it if you explained the code to me.

I am pretty sharp and I know my way around Python, but I haven't learned the C yet. (I know it's a different kind of language, but still, it is a language for a computer, so the main structure - how does it do its thing, not how is it called, or how is it "translated" to the 1s and 0s - is always almost the same.) It is not exactly clear to me how the FFT process works, but I've got a rough idea. Same for the random shift. I must admit, FP numbers are a bit hazy for me, but as I said, I can learn quickly.

So if you'd be willing to explain it in some video-chat with sharing the screen (I'm having a lot of them these days , as school replacement), I think I could be of help.
Thank you for the offer; though the effort required may be larger than it appears.

While C++ and GPU programming are not small topics in themselves, contributing effectivelly to GpuOwl may go one step beyond that.

I don't have the bandwidth for VC, sorry.

OTOH I can answer questions (email or PM or here on the open forums). I can also review pull requests. Note, pull requests are more likely to not be accepted in the codebase, but hopefully I'd offer a reason why. And, if one does a fork of the project, the issue of me gatekeeping the changes vanishes :)

I may also try to put together some overview documentation of the algorithms and codebase. That would be useful, if I can only get myself to do it.

Last fiddled with by preda on 2020-10-23 at 22:59 Reason: spelling
preda is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
GpuOwl PRP-Proof changes preda GpuOwl 20 2020-10-17 06:51
gpuowl: runtime error SELROC GpuOwl 59 2020-10-02 03:56
gpuOWL for Wagstaff GP2 GpuOwl 22 2020-06-13 16:57
gpuowl tuning M344587487 GpuOwl 14 2018-12-29 08:11
How to interface gpuOwl with PrimeNet preda PrimeNet 2 2017-10-07 21:32

All times are UTC. The time now is 10:21.

Fri Dec 4 10:21:34 UTC 2020 up 1 day, 6:32, 0 users, load averages: 2.71, 2.34, 1.86

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.