![]() |
1 Attachment(s)
Test if I can attach it. (I did not expect that you generate gigabytes of those test results... :razz:)
|
[QUOTE=Bdot;344999]this made me think if non-power-of-two values for GPUSieveSize are allowed at all. Yes they are. But thinking a bit more about the dependencies, I think I found a bug in mfakto and mfaktc:
When using GPUSieveProcessSize=24 and GPUSieveSize that is not divisible by 3, then some FCs may go untested. (GPUSieveSize * 1024) must be divisible by GPUSieveProcessSize. Worst case would be GPUSieveProcessSize=24 and GPUSieveSize=4, in which case about 1 in 256 FCs would go untested. Typical settings of GPUSieveProcessSize=24 and GPUSieveSize=64 leaves 1 in 4096 FCs untested, GPUSieveProcessSize=24 and GPUSieveSize=128 about 1 in 16384. Unfortunately this is something that the selftest cannot cover without increasing the selftest runtime by a factor of 10 at least. How many of you use GPU sieving with GPUSieveProcessSize=24 ? What do we want to do with those tests?[/QUOTE] I'm using GPUSieveProcessSize=16, as suggested by kracker [URL="http://mersenneforum.org/showpost.php?p=344668&postcount=844"]here[/URL]. Going along with his other idea there, GPUSievePrimes is at 92486. GPUSieveSize has been back at 64 ever since I reported the results with that value at 48. With these settings, TF of 72xxxxxx exponents has been hovering around 144-146 GHz-d/d. All of this work done in mfakto x32. Rodrigo |
[QUOTE=Rodrigo;345095]I'm using GPUSieveProcessSize=16, as suggested by kracker [URL="http://mersenneforum.org/showpost.php?p=344668&postcount=844"]here[/URL].[/QUOTE]
Actually, I had recommended 24, "GPUSieveProcessSize to 24 [B][I]from[/I][/B] 16" which 16 is default(I think?) Anyways it might be safer to stay on 16 :razz: [SIZE=1](for now)[/SIZE] |
[QUOTE=kracker;345100]Actually, I had recommended 24, "GPUSieveProcessSize to 24 [B][I]from[/I][/B] 16" which 16 is default(I think?)
Anyways it might be safer to stay on 16 :razz: [SIZE=1](for now)[/SIZE][/QUOTE] GPUSieveProcessSize=24 is safe as long as GPUSieveSize is a multiple of 3. That is also, what the fix will do - the fix is just in the parameter validation part of reading mfakto.ini. What is the general opinion if any of the tests need to be repeated? I tried to come up with an estimate how "bad" the bug is ... My opinion is, that if anyone used GPUSieveProcessSize=24 along with really low GPUSieveSize(say, < 20), then chances of missing a factor (like one in 256 to one in 1024) are too high and the tests should be repeated. For GPUSieveSize=32 and above, missing between one in 4096 and one in 16384 factors is probably not worth the effort. But I'd like to hear other opinions. If you can provide a guideline for an "acceptable miss probability", then I can compile a list of GPUSieveSize settings that would require a re-test. |
[QUOTE=LaurV;345070]Test if I can attach it. (I did not expect that you generate gigabytes of those test results... :razz:)[/QUOTE]
Thanks a lot for the test results. They show a pretty accurate proportional performance increase from my 7850. No sign for a different calculation base for the high-end GCNs. However, I do not yet have a good performance measurement of the GPU sieving itself - something to add soon. |
GPUSieveSize=64
GPUSieveProcessSize=16 What should I do? I don't think it's possible to "redo" or "double check" TF is it? Edit: Or are these settings safe? Upon reading it again it seems more like GPUSieveSize=64 only needs to be divisible by 3 for GPUSieveProcessSize=24? Edit2: Okay, I read more carefully, ignore this post (I would delete it but can't) |
[QUOTE=blahpy;345110]GPUSieveSize=64
GPUSieveProcessSize=16 What should I do? I don't think it's possible to "redo" or "double check" TF is it? Edit: Or are these settings safe? Upon reading it again it seems more like GPUSieveSize=64 only needs to be divisible by for GPUSieveProcessSize=24?[/QUOTE] Yes, these (default) settings are safe - no need to rerun anything. |
[QUOTE=kracker;345100]Actually, I had recommended 24, "GPUSieveProcessSize to 24 [B][I]from[/I][/B] 16" which 16 is default(I think?)
Anyways it might be safer to stay on 16 :razz: [SIZE=1](for now)[/SIZE][/QUOTE] Huh, you're right. I guess I confused it because (according to the info in the mfakto.ini file) the default value is 24: [CODE] # GPUSieveProcessSize defines how far many bits of the sieve each TF block # processes (in K bits). Larger values may lead to less wasted cycles by # reducing the number of times all threads in a warp are not TFing a # candidate. However, more shared memory is used which may reduce occupancy. # Smaller values should lead to a more responsive system (each kernel takes # less time to execute). GPUSieveProcessSize must be a multiple of 8. # # # Minimum: GPUSieveProcessSize=8 # Maximum: GPUSieveProcessSize=32 (requires GPUSievePrimes > 310) # # Default: GPUSieveProcessSize=24 GPUSieveProcessSize=16 [/CODE] ...and so I switched it TO 16, figuring that's what you meant to say. :smile: But, whatever the reason, I seem to have stumbled onto the safest values for the time being. Rodrigo |
Hmm, the one that you can [URL="http://www.mersenneforum.org/mfakto/mfakto-0.13/"]download [/URL]with the win package reads:
[code] # GPUSieveProcessSize defines how far many bits of the sieve each TF block # processes (in K bits). Larger values may lead to less wasted cycles by # reducing the number of times all threads in a warp are not TFing a # candidate. However, more shared memory is used which may reduce occupancy. # Smaller values should lead to a more responsive system (each kernel takes # less time to execute). GPUSieveProcessSize must be a multiple of 8. # # # Minimum: GPUSieveProcessSize=8 # Maximum: GPUSieveProcessSize=32 (requires GPUSievePrimes > 310) # # Default: GPUSieveProcessSize=[COLOR=Red]16[/COLOR] GPUSieveProcessSize=16 [/code] |
[QUOTE]How many of you use GPU sieving with GPUSieveProcessSize=24 ? What do we want to do with those tests? [/QUOTE]
I'm using GPUSieveSize=128 GPUSieveProcessSize=8 I don't think I've ever used 24. |
[QUOTE=Bdot;345150]Hmm, the one that you can [URL="http://www.mersenneforum.org/mfakto/mfakto-0.13/"]download [/URL]with the win package reads:
[code] # GPUSieveProcessSize defines how far many bits of the sieve each TF block # processes (in K bits). Larger values may lead to less wasted cycles by # reducing the number of times all threads in a warp are not TFing a # candidate. However, more shared memory is used which may reduce occupancy. # Smaller values should lead to a more responsive system (each kernel takes # less time to execute). GPUSieveProcessSize must be a multiple of 8. # # # Minimum: GPUSieveProcessSize=8 # Maximum: GPUSieveProcessSize=32 (requires GPUSievePrimes > 310) # # Default: GPUSieveProcessSize=[COLOR=red]16[/COLOR] GPUSieveProcessSize=16 [/code][/QUOTE] How weird. My backup of the original mfakto.ini shows exactly what you give there. The only way that I can think of that could lead to the value changing in the comments line, would be if I had made the change manually to the comments line and never actually adjusted the real setting to the 24 that @kracker had recommended. (In which case I never changed it to OR from 16.) Although I have no memory of it, this is entirely possible: my wife and I spent several days doing some intense (physical and Web) car shopping. :chevy: I can picture hurriedly making this change on the way out to yet another auto dealership. This must be what happened, there's no other sensible explanation. I plead temporary insanity. Rodrigo |
| All times are UTC. The time now is 23:11. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.