mersenneforum.org  

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

Reply
 
Thread Tools
Old 2021-10-23, 04:23   #1
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

8910 Posts
Default 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.
techn1ciaN is online now   Reply With Quote
Old 2021-10-26, 11:25   #2
tdulcet
 
tdulcet's Avatar
 
"Teal Dulcet"
Jun 2018

2×33 Posts
Default New PrimeNet script

Quote:
Originally Posted by techn1ciaN View Post
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.
@danc2 and I created a new PrimeNet script last year do this. Please see our dedicated thread for more information.

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 View Post
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.
tdulcet is offline   Reply With Quote
Old 2021-10-27, 00:29   #3
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

89 Posts
Default

Quote:
Originally Posted by tdulcet View Post
@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 View Post
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 View Post
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.
techn1ciaN is online now   Reply With Quote
Old 2021-10-27, 01:40   #4
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

89 Posts
Default

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
Click image for larger version

Name:	primenet.png
Views:	48
Size:	50.4 KB
ID:	26021  
techn1ciaN is online now   Reply With Quote
Old 2021-10-27, 13:02   #5
tdulcet
 
tdulcet's Avatar
 
"Teal Dulcet"
Jun 2018

2×33 Posts
Default

Quote:
Originally Posted by techn1ciaN View Post
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 View Post
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 View Post
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 View Post
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.
tdulcet is offline   Reply With Quote
Old 2021-10-28, 06:58   #6
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

89 Posts
Default

Quote:
Originally Posted by tdulcet View Post
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 View Post
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.
techn1ciaN is online now   Reply With Quote
Old 2021-10-28, 13:22   #7
tdulcet
 
tdulcet's Avatar
 
"Teal Dulcet"
Jun 2018

1101102 Posts
Default

Quote:
Originally Posted by techn1ciaN View Post
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 View Post
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 View Post
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...
tdulcet is offline   Reply With Quote
Old 2021-10-28, 17:10   #8
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

89 Posts
Default

Quote:
Originally Posted by tdulcet View Post
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 View Post
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
techn1ciaN is online now   Reply With Quote
Old 2021-10-29, 14:13   #9
tdulcet
 
tdulcet's Avatar
 
"Teal Dulcet"
Jun 2018

2·33 Posts
Default

Quote:
Originally Posted by techn1ciaN View Post
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 View Post
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 View Post
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.
tdulcet is offline   Reply With Quote
Old 2021-10-29, 20:24   #10
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

89 Posts
Default

Quote:
Originally Posted by tdulcet View Post
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 View Post
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.
I performed a simple matching double-check by loading

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.)
techn1ciaN is online now   Reply With Quote
Old 2021-10-30, 02:26   #11
techn1ciaN
 
techn1ciaN's Avatar
 
Oct 2021
U.S. / Maine

10110012 Posts
Default

Quote:
Originally Posted by techn1ciaN View Post
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 View Post
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.
techn1ciaN is online now   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to interface gpuOwl with PrimeNet preda PrimeNet 2 2017-10-07 21:32
primenet account Unregistered Information & Answers 9 2013-04-29 12:32
GIMPS Computer not showing up in account. lewisforlife Software 6 2011-07-24 20:17
computer id missing in Primenet account report onesoul PrimeNet 6 2007-02-13 06:14
GIMPS Teams and Recruiting, Listing Teams eepiccolo Lounge 13 2003-05-02 00:28

All times are UTC. The time now is 16:14.


Tue Nov 30 16:14:34 UTC 2021 up 130 days, 10:43, 0 users, load averages: 1.14, 1.33, 1.39

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.