mersenneforum.org Feasibility of GPUOwl with Primenet.py having its own computer listing in GIMPS account?
 Register FAQ Search Today's Posts Mark Forums Read

 2021-10-23, 04:23 #1 techn1ciaN     Oct 2021 U.S. / Maine 22·3·11 Posts Feasibility of GPUOwl with Primenet.py having its own computer listing in GIMPS account? I stopped putting it off and set aside enough time today to get Primenet.py working with my GPUOwl installation. It's a very nice tool and not having to haul proof files over to the drive where I have Prime95 running is a definite plus. But, account-wise its work is still checked out and returned under the "manual testing" computer. I am assuming that making Primenet.py register a discrete computer in your account like an Internet-connected version of Prime95 would do is not trivial, if it has not been done already. Or is there some sort of security difficulty with software other than specifically Prime95 being allowed to do this? For me the functionality is mainly of interest because manual testing's "smallest exponents" stop at cat 2. My CPU is not really fast enough to qualify for cat 0 first-time PRP and so I set it doing DC, but my GPU in the same system easily is. The manual testing category limit is of course reasonable with the prevalence of patchy internet / sneakernet in that assignment method, but if someone is running GPUOwl with Primenet.py it should be effectively guaranteed that they have the same or better connectivity as an online Prime95 user would. My apologies if there is already discussion along this line of thought; a search for "primenet computer" turned up nothing relevant.
2021-10-26, 11:25   #2
tdulcet

"Teal Dulcet"
Jun 2018

5·11 Posts
New PrimeNet script

Quote:
 Originally Posted by techn1ciaN I am assuming that making Primenet.py register a discrete computer in your account like an Internet-connected version of Prime95 would do is not trivial, if it has not been done already.

It does not yet support uploading PRP proofs, which is why we have not officially announced GpuOwl support. I have implement most of the needed code in my local copy of the script, but I have not yet collected enough PRP proofs from GpuOwl to properly test it, so this will likely be added in the next couple of months after I have finished testing.

Quote:
 Originally Posted by techn1ciaN For me the functionality is mainly of interest because manual testing's "smallest exponents" stop at cat 2. My CPU is not really fast enough to qualify for cat 0 first-time PRP and so I set it doing DC, but my GPU in the same system easily is. The manual testing category limit is of course reasonable with the prevalence of patchy internet / sneakernet in that assignment method, but if someone is running GPUOwl with Primenet.py it should be effectively guaranteed that they have the same or better connectivity as an online Prime95 user would.
Yes, allowing the program to get much smaller category 0 and 1 exponents is one of the main advantages of our PrimeNet script, along with assignment progress reporting.

2021-10-27, 00:29   #3
techn1ciaN

Oct 2021
U.S. / Maine

22×3×11 Posts

Quote:
 Originally Posted by tdulcet @danc2 and I created a new PrimeNet script last year do this. Please see our dedicated thread for more information.

Thank you — this is exactly the idea! I will look into setting it up right now.

Quote:
 Originally Posted by tdulcet It does not yet support uploading PRP proofs, which is why we have not officially announced GpuOwl support.

That should not be a problem; I can just go back to using my Prime95 instance as an uploader for the time being. I think current GPUOwl PRP lines have a flag that a proof was generated, so the server will not assign meaningless TF or DC before you can get the proof uploaded.

Quote:
 Originally Posted by tdulcet I have implement most of the needed code in my local copy of the script, but I have not yet collected enough PRP proofs from GpuOwl to properly test it, so this will likely be added in the next couple of months after I have finished testing.

Would it be at all helpful to you if I were to send along my own proofs (after the corresponding CERT finished, of course) along with whatever other files are relevant? I complete a wavefront test about every three days on a Radeon 5700 XT, using proof power 10.

 2021-10-27, 01:40 #4 techn1ciaN     Oct 2021 U.S. / Maine 22×3×11 Posts Extremely cool — thanks again! You mentioned several months ago in your own thread that you would be open to adding TF functionality if someone else wrote the code for it. Did anything ever come of that? Obviously there wouldn't be an assignment-availability advantage as with GPUOwl*, but I found configuring Misfit for just one MFakt[x] instance a bit obtuse, since much of its functionality (the inbound and outbound "staging") is tuned specifically for the use case of operating many different instances and becomes bloat if you are not doing this. * That being said, there is a specific manual assignments sub-page for Misfit and anecdotally it has been reserving noticeably smaller exponents than the user-facing manual GPU assignment tool was. I suppose this is an unofficial / workaround way of accomplishing the same thing for GPU TF as the official assignment rules accomplish for primality testing. Attached Thumbnails
2021-10-27, 13:02   #5
tdulcet

"Teal Dulcet"
Jun 2018

5×11 Posts

Quote:
 Originally Posted by techn1ciaN Thank you — this is exactly the idea! I will look into setting it up right now.
No problem, I am happy it is useful for you. Thanks for helping test it. There is more information about the GpuOwl support in this post in a different thread. From your screenshot, it looks like you were able to successfully set it up. Feedback is welcome.

Quote:
 Originally Posted by techn1ciaN I think current GPUOwl PRP lines have a flag that a proof was generated, so the server will not assign meaningless TF or DC before you can get the proof uploaded.
Yes, that is correct.

Quote:
 Originally Posted by techn1ciaN Would it be at all helpful to you if I were to send along my own proofs (after the corresponding CERT finished, of course) along with whatever other files are relevant? I complete a wavefront test about every three days on a Radeon 5700 XT, using proof power 10.
Unfortunately not after they have already been uploaded, as they can only be uploaded to the PrimeNet server once.

I currently only have one system that I can run GpuOwl on and it has an extremely slow Intel UHD Graphics P630 GPU, which takes over 80 days per wavefront test. The current assignment has around 19 days to go, at which point I will be able to finish, test and publish my implementation. Although, I will probably wait until at least one more test completes before officially announcing GpuOwl support.

Quote:
 Originally Posted by techn1ciaN You mentioned several months ago in your own thread that you would be open to adding TF functionality if someone else wrote the code for it. Did anything ever come of that? Obviously there wouldn't be an assignment-availability advantage as with GPUOwl*, but I found configuring Misfit for just one MFakt[x] instance a bit obtuse, since much of its functionality (the inbound and outbound "staging") is tuned specifically for the use case of operating many different instances and becomes bloat if you are not doing this. * That being said, there is a specific manual assignments sub-page for Misfit and anecdotally it has been reserving noticeably smaller exponents than the user-facing manual GPU assignment tool was. I suppose this is an unofficial / workaround way of accomplishing the same thing for GPU TF as the official assignment rules accomplish for primality testing.
No, no one has added TF support to our PrimeNet script yet. The difference of our PrimeNet script is that it uses the PrimeNet API like Prime95/MPrime instead of wrapping the manual assignment pages, but as you said, that does not provide many advantages for TF assignments. Someone else on this forum can correct me, but I believe most users actually get their TF assignments from the GPU72 project, which has a separate API. The GPU72 project reserves large blocks of TF assignments in advanced, which is why users are able to get smaller exponents from them. Many other PrimeNet scripts do support TF assignments, either by using the GPU72 API or by wrapping the manual GPU assignment page.

2021-10-28, 06:58   #6
techn1ciaN

Oct 2021
U.S. / Maine

22·3·11 Posts

Quote:
 Originally Posted by tdulcet Unfortunately not after they have already been uploaded, as they can only be uploaded to the PrimeNet server once. I currently only have one system that I can run GpuOwl on and it has an extremely slow Intel UHD Graphics P630 GPU, which takes over 80 days per wavefront test.
Yes, I realized after I made the post that my offer was a bit misguided. I don't believe I would have a problem sending you un-uploaded proofs, but I think PrimeNet may reject a proof from a different user than the one who did the test anyway; I'm not sure.

I am frankly surprised you were able to get primality testing running on an IGP at all. I attempted to set the IGP in my laptop's Ryzen 4600H doing DC-via-PRP, but GPUOwl threw GEC failures like nuts (20–30 within 1M iters.), so I had to conclude that AMD probably did not accommodate for GPU double-precision arithmetic. I loaded an old version of MFakto instead and now get a bonus GPU TF assignment done every couple days — better than nothing.

Quote:
 Originally Posted by tdulcet Someone else on this forum can correct me, but I believe most users actually get their TF assignments from the GPU72 project, which has a separate API. The GPU72 project reserves large blocks of TF assignments in advanced, which is why users are able to get smaller exponents from them. Many other PrimeNet scripts do support TF assignments, either by using the GPU72 API or by wrapping the manual GPU assignment page.
I should have been clearer; I am using such a tool — Misfit — presently (I just find that it has so much functionality as to be difficult to configure for a simpler use case). The GPU TF exponents I had been reserving myself were in the 117,xxx,xxx range, but the ones Misfit reserves for me are presently 108,xxx,xxx, even though it does not use the API and I did not configure it for GPU72. I forget how I noticed, but it does contact a specific, purpose-made sub-page of the GPU assignments tool (something like [...]/manual_gpu_assignment/misfit.php), so I figure this has to be the reason why.

GPU72 is cool, but I try to avoid accumulating Internet accounts where possible, so I am fine to get GPU TF from GIMPS directly. I run my TF on my laptop anyway, so it would probably not be best for me to check out the absolute smallest exponents available, with the possibility of occasionally being away from reliable mains power.

2021-10-28, 13:22   #7
tdulcet

"Teal Dulcet"
Jun 2018

5510 Posts

Quote:
 Originally Posted by techn1ciaN I don't believe I would have a problem sending you un-uploaded proofs, but I think PrimeNet may reject a proof from a different user than the one who did the test anyway; I'm not sure.
Thanks for the offer! I could upload your PRP proofs, but yes, I would need your PrimeNet User ID. If that is OK with you, feel free to upload the proofs to your favorite file sharing service and then send me a PM with the link and your User ID. I would only need 3-4 proofs to thoroughly test my implementation.

Quote:
 Originally Posted by techn1ciaN I am frankly surprised you were able to get primality testing running on an IGP at all. I attempted to set the IGP in my laptop's Ryzen 4600H doing DC-via-PRP, but GPUOwl threw GEC failures like nuts (20–30 within 1M iters.), so I had to conclude that AMD probably did not accommodate for GPU double-precision arithmetic. I loaded an old version of MFakto instead and now get a bonus GPU TF assignment done every couple days — better than nothing.
That many GEC failures is concerning and it may effect the trial factoring reliability as well. I have gotten GpuOwl to successfully run on a couple of Intel integrated GPUs. The main problem on this system is that sometimes GpuOwl hangs after it is started, but I believe this is a driver issue.

Quote:
 Originally Posted by techn1ciaN I should have been clearer; I am using such a tool — Misfit — presently (I just find that it has so much functionality as to be difficult to configure for a simpler use case). The GPU TF exponents I had been reserving myself were in the 117,xxx,xxx range, but the ones Misfit reserves for me are presently 108,xxx,xxx, even though it does not use the API and I did not configure it for GPU72. I forget how I noticed, but it does contact a specific, purpose-made sub-page of the GPU assignments tool (something like [...]/manual_gpu_assignment/misfit.php), so I figure this has to be the reason why.
All my systems that I have contributed to GIMPS on are Linux and I personally have no interest in trial factoring, so I have never used Misfit. However, that is interesting that it has its own separate page/endpoint, which provides much smaller exponents. There would then be four ways for users to get TF assignments:
• The PrimeNet API (like Prime95/MPrime)
• The manual GPU assignment page
• The Misfit specific manual GPU assignment page
• The GPU72 API
From your explanation, it seems that Misfit supports the last two methods. As I said, there are other PrimeNet scripts that support the second and last methods, notably this one by @teknohog: https://github.com/teknohog/primetools. If the Misfit specific page supports smaller exponents, it would likely be trivial to update that script to use it instead. I would of course need to look at the Misfit source code to know more...

2021-10-28, 17:10   #8
techn1ciaN

Oct 2021
U.S. / Maine

22×3×11 Posts

Quote:
 Originally Posted by tdulcet I would only need 3-4 proofs to thoroughly test my implementation.
To be clear — am I fine to send along proofs as I finish the tests, or do you prefer that I collect a batch of 3 or 4 and send them all at once? I would find the first case easier but am fine to wait if there is a good reason.

Quote:
 Originally Posted by tdulcet That many GEC failures is concerning and it may effect the trial factoring reliability as well. I have gotten GpuOwl to successfully run on a couple of Intel integrated GPUs.
I do not believe that there actually is a system reliability problem.

The reason why TF is so fast on a GPU is that it can be executed with single-precision arithmetic and most consumer GPUs have single-precision throughput that is a large multiple of the double-precision value (1:16 seems standard for AMD and 1:32 for Nvidia). Everything else GIMPS does (PRP, P-/+1, LL, I believe even ECM) requires double-precision.

I do not have the specific thread, but I can recall reading on here that some IGPs simply do not implement double-precision capability at all (and for most users this would of course not be a great loss). One then expects that a program dependent upon double-precision operations would either crash or give results very different from those expected. GPUOwl with GEC seems to be the latter case.

My laptop is recent and well-maintained so I find it hard to believe that there would be so many GEC failures unless the necessary arithmetic was unsupported altogether. Particularly, Prime95 with GEC on the CPU portion of the same processor throws no failures at all, even when MFakto is running on the IGP portion at the same time. One expects that if there were any significant memory, thermals, or power delivery problem, then Prime95 would be throwing at least some failures before too long.

Last fiddled with by techn1ciaN on 2021-10-28 at 17:29 Reason: Wording

2021-10-29, 14:13   #9
tdulcet

"Teal Dulcet"
Jun 2018

5×11 Posts

Quote:
 Originally Posted by techn1ciaN To be clear — am I fine to send along proofs as I finish the tests, or do you prefer that I collect a batch of 3 or 4 and send them all at once? I would find the first case easier but am fine to wait if there is a good reason.
The first case is fine with me, if that would be easier for you. Thanks again for doing this! It will significantly speed up the time it takes to test my proof uploading implementation so I can release it much sooner.

Quote:
 Originally Posted by techn1ciaN I do not have the specific thread, but I can recall reading on here that some IGPs simply do not implement double-precision capability at all (and for most users this would of course not be a great loss). One then expects that a program dependent upon double-precision operations would either crash or give results very different from those expected. GPUOwl with GEC seems to be the latter case.
Hmm, many people have ran GpuOwl on integrated GPUs, you can see lot of benchmarks on the main GpuOwl thread. If the needed operations were not supported, I would expect the OpenCL code to not even compile or run at all. If the GPU hardware does not support double-precision floating point, it could be using a software based implementation, but that would of course significantly impact performance. I would encourage you post about this on the main thread where someone should be able to provide more insight.

Quote:
 Originally Posted by techn1ciaN My laptop is recent and well-maintained so I find it hard to believe that there would be so many GEC failures unless the necessary arithmetic was unsupported altogether. Particularly, Prime95 with GEC on the CPU portion of the same processor throws no failures at all, even when MFakto is running on the IGP portion at the same time. One expects that if there were any significant memory, thermals, or power delivery problem, then Prime95 would be throwing at least some failures before too long.
The problem could be with the GPU itself or the GPU RAM if it has dedicated RAM. If so, you could run some stress/torture tests to potentially narrow down the issue.

2021-10-29, 20:24   #10
techn1ciaN

Oct 2021
U.S. / Maine

22·3·11 Posts

Quote:
 Originally Posted by tdulcet The first case is fine with me, if that would be easier for you. Thanks again for doing this!
Great. No problem; happy to help. My next GPUOwl test should finish in a bit less than 2½ days (although I plan to upgrade the relevant machine to Windows 11 later this evening, so that could go up significantly if there is some Microsoft idiosyncrasy that tanks my iters/s).

Quote:
 Originally Posted by tdulcet The problem could be with the GPU itself or the GPU RAM if it has dedicated RAM. If so, you could run some stress/torture tests to potentially narrow down the issue.

Code:
Factor=9040249,70,71
and verifying that MFakto was able to find the correct factor. I will run this "test" one more time and if it passes again, then I will conclude that my IGP is stable enough for trial factoring under my running conditions and leave the matter there. I am probably not interested in running GPUOwl anymore even if it were hypothetically possible to resolve the GEC failures, since with Prime95 running concurrently on the CPU, a single wavefront DC would take me nearly a month at 100% uptime. (By contrast, MFakto is able to complete an FTC wavefront TF every couple of days.)

2021-10-30, 02:26   #11
techn1ciaN

Oct 2021
U.S. / Maine

22·3·11 Posts

Quote:
 Originally Posted by techn1ciaN My next GPUOwl test should finish in a bit less than 2½ days (although I plan to upgrade the relevant machine to Windows 11 later this evening, so that could go up significantly if there is some Microsoft idiosyncrasy that tanks my iters/s).
Upgrade finished. My throughput is the same, so we should be on schedule. (Unless my new GPU undervolt that I validated as stable in 10 is somehow not so in 11. I burned it in for 24 hours with GEC every 10,000 iters., so I hope that it would not be so close to the edge of reliable that this would be a possibility, but I will still review the printout for any GEC failures when I wake up next morning.)

Quote:
 Originally Posted by techn1ciaN I will run this "test" one more time and if it passes again, then I will conclude that my IGP is stable enough for trial factoring under my running conditions and leave the matter there.
My second "double-check" of
Code:
Factor=228288397,73,74
also validated, so if I do have any intrinsic hardware issue, it is strictly limited to double precision–dependent operations and I am safe to run TF. Case closed.

 Similar Threads Thread Thread Starter Forum Replies Last Post preda PrimeNet 2 2017-10-07 21:32 Unregistered Information & Answers 9 2013-04-29 12:32 lewisforlife Software 6 2011-07-24 20:17 onesoul PrimeNet 6 2007-02-13 06:14 eepiccolo Lounge 13 2003-05-02 00:28

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

Sun Jan 23 05:15:45 UTC 2022 up 183 days, 23:44, 0 users, load averages: 2.22, 1.99, 1.66