![]() |
well for starters v2.05Beta does not respond to the DeviceNumber= parameter inside ANY version of the CUDALucas.ini file.
|
Thanks for pointing that out. Now fixed with r71. You notice any other problems?
|
sure probably quite a few, I see ErrorIterations= near the top and RoundOffTest= near the bottom, the descriptions for both seem to mean the same setting so are these two redundant or is one an ignored parameter from a previous version and the other the newer currently used parameter?
Also in that same upper section the following: [QUOTE]# ErrorIterations tells how often the roundoff error is checked. Larger values # give shorter iteration times, but introduce some uncertainty as to the actual # maximum roundoff error that occurs during the test. Default is 100. # ReportIterations is the same as the -x option; it determines how often # screen output is written. Default is 10000. # CheckpointIterations is the same as the -c option; it determines how often # checkpoints are written. Default is 100000. # Each of these values should be of the form [U][B]k * 10^n with k = 1, 2, or 5.[/B][/U] ErrorIterations=100 ReportIterations=10000 CheckpointIterations=100000[/QUOTE] The underlined & bold portion, is that syntax correct? It seems to be instructing that the values entered should be single digit integers instead of the multi-digit values already entered by default. I find it misleading. |
Those control different features. ErrorIterations tells how often the roundoff errors are checked. RoundOffTest determines if an initial roundoff test is done at the beginning of each test.
Edit: would "... of the form p=k*10^n ..." be clearer? |
Unfortunately no it doesn't make things clearer. When I see that syntax it is prompting me to type a value matching that entire syntax structure; a formula instead of just an integer. The default value tells me I should only put an integer. Then there is nothing indicating what the different variables in the formula represent (what "k" is substituting, what "p" is substituting, what "n" is substituting). So I don't know what letter is meant to be the 100 value or the 10000 value or the 100000 value? Or if I'm being instructed to type a value into each parameter that looks like the structure of "p=k*10^n". Maybe it means (p)rime=(k)onstant*10^(n)umber? Then what is "n" supposed to be? Ever confusing to me.
I took a quick look inside the r71 ini file, looks like the new default is devicenumber=1 not 0 anymore? Well I know in the beta setting it to 0 or 1 or 2 doesn't change the device. Maybe in a few days I'll be prepped to try out the non-beta and see if 0 and 1 work. Not asking to make anymore changes to that parameter, just want to know if you meant for the default to now be 1 instead of the former 0. thanks |
Thanks again for you input. No the default device is not supposed to be device 1, thats just what I left it at after testing the fix.
So does k*10^n with k = 1, 2, or 5 and n a non-negative integer make more sense? |
[QUOTE]
# Threads is the same as the -threads option. This sets the number of threads # used in the multiplication and splice kernels. Each of the two values must # be 32, 64, 128, 256, 512, or 1024. (Some FFT lengths have a higher minimum than 32.) # These vaules will be used only if no <gpu> threads.txt file is present or no entry # for the current exponent is in that file. The file is generated by running # # ./CUDALucas -threadbench s e i [B][U]m[/U][/B] # # This will time i repetitions of a 50 ll iteration loop, for certain fft # lengths between s * 1024 and e * 1024. The parameter m gives some control # over which fft lengths are tested, which thread values are tested, # and screen output: # bit 0: if set, only fft values from <gpu> fft.txt will be tested, # otherwise, all reasonable fft lengths will be tested. # bit 1: if set, skips thread value 32. # bit 2: if set, skips thread value 1024. [B][U]# bit 3: if set, supresses intermediate output: only the optimal # thread values for each fft will be printed to the screen.[/U][/B] # E.g. # # ./CUDALucas -threadbench 1 8192 5 [B][U]10[/U][/B] # # tests all reasonable (7-smooth multiples of 1024) fft lengths from 1k to 8192k # using thread values 64, 128, 256, 512, and 1024, [B][U]supressing intermediate output.[/U][/B] [/QUOTE] The underlined & bold looks like inaccurate description to me. Sorry if I seem like an annoying stickler, & thanks for all your hard work. [QUOTE=owftheevil;378537]Thanks again for you input. No the default device is not supposed to be device 1, thats just what I left it at after testing the fix. So does k*10^n with k = 1, 2, or 5 and n a non-negative integer make more sense?[/QUOTE] I'm sorry I'm having trouble explaining myself clearly. The syntax in itself is clear or understandable but what I find unclear is what the syntax/formula, especially the letter variables, have to do with the 3 parameters/parameter values. What is K? What is n (aside from its requirement to be a non-negative integer). Maybe another way of stating my question is, I understand what values or type of values are allowed in those letter variables; and I understand how they fit into the stated formula. I just do not know what each of those letter values are representing with respect to parameters in the ini file, or where that formula fits into this whole system. Could "k" be a substitute for [I]each[/I] parameter (ErrorIterations=k [I]then[/I] ReportIterations=k [I]then[/I] CheckpointIterations=k)? |
10 = 1010 in binary. Bit 0 is not set, so all reasonable lengths are tested. Bit 1 is set so thread value 32 is skipped. Bit 3 is 0 so thread value 1024 is included. Bit 4 is 1 so intermediate output is suppressed.
|
AHHH, that clears up the threadbench parameters, I was reading it as 1-0 binary number=2 in decimals.
|
:redface:
[QUOTE] # ErrorIterations tells how often the roundoff error is checked. Larger values # give shorter iteration times, but introduce some uncertainty as to the actual # maximum roundoff error that occurs during the test. Default is 100. # ReportIterations is the same as the -x option; it determines how often # screen output is written. Default is 10000. # CheckpointIterations is the same as the -c option; it determines how often # checkpoints are written. Default is 100000. # Each of these values should be of the form [B][U]k * 10^n with k = 1, 2, or 5[/U][/B]. ErrorIterations=100 ReportIterations=10000 CheckpointIterations=100000 [/QUOTE] [QUOTE=owftheevil;378537]... So does k*10^n with k = 1, 2, or 5 and n a non-negative integer make more sense?[/QUOTE] the formula could read: ParameterValue = k * 10^n or ParameterValue = k * 10ⁿ or ParameterValue = (1, 2, or 5 only) * 10^n or ParameterValue = (1, 2, or 5 only) * 10ⁿ, with k = 1, 2, or 5 [I][U]only[/U][/I], and n = a non-negative integer (like you stated). I never could see how the formula related to anything until I tried changing the values and then I could see those 3 parameters only accepted values of 1, 2, or 5 followed by any amount of zeros. |
Possible bug. I got a used GTX 580. Installed it and it was running a 1792K FFT double-check using 256 / 128 threads. Then I saw your cool new feature and ran:
./CUDALucas -threadbench 1536 2048 5 10 This created a file suggesting 1792K run with 64 / 64 threads. This combination turns out to be 10% slower than the 256 / 128 combination I was using. Needless to say, I deleted the threadbench output and resumed work. |
| All times are UTC. The time now is 23:07. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.