![]() |
|
|
#12 |
|
∂2ω=0
Sep 2002
República de California
101101011111102 Posts |
Thanks garo, for taking the time to help Martin out. Note that the Mlucas.c built-in self-test doesn't actually use the Res64s in the current README file (those were mainly for the older Fortran version), but instead stores a bunch of test exponents and the associated Res64s which 100 iterations should generate internally. Look at the last 100 or so lines of the Mlucas.c sourcefile, and you'll see the associated code.
Adding code that will cause the program to not only run the self-tests, but also automatically generate the mlucas.cfg file based on the self-test timings is on my to-do list for the eventual release version of 2.8. Also on the to-do list is an additional option for the self-tests, namely to try all available radix combinations at a single FFT length. That will make it easier for a user to just do a quick set of timings for the FFT length they'll be using for their current run(s) and get started on the latter. Lastly, note that on the lines in the .cfg file containing the pairs of {FFT length in K | optimal radix set} data, everything to the right of the second entry is ignored by the program, so you can use this as desired for comments (you don't even actually need the # - I just use it to make it obvious that what follows is a comment, using the Unix-style resource file format.) So for instance you might note what the timings for the best and next-best radix set for any FFT length are, and what their respective timings were. I find that useful when customizing the .cfg file for various platforms. Martin, are you up and running now? If so, how do your per-iteration timings for v2.7b compare to 2.8x? |
|
|
|
|
|
#13 |
|
Jul 2003
10102 Posts |
Dear Forum
I've now been running all the selftest s+m+l and extracted the results to this file below. This was all done in a directory that contained _no_ .cfg file nor any worktodo.ini for that matter. Coul'd this be a propper mlucas.cfg for me? [code:1] # mlucas.cfg - configuration file for Mlucas - Optimized for Mlucas 2.8x (C ver) on Alpha Server 800 5/500 - 256 Mb # Format: this file MUST have 3 # lines, one int, another # line and pairs of ints in order to be properly read. # This line tells the code beyond which to turn off error checking, if no RO warnings issued: 200000 # Following lines: {FFT length(K),Radix Set Index # {<Possible Radix>.<time>,...}} 128,1 # 0,05.131 1,04.818 2,05.418 3,04.831 144,2 # 0,06.239 1,05.969 2,05.442 160,4 # 0,06.754 1,06.740 2,06.645 3,06.511 4,06.032 5,06.321 6,06.791 176,2 # 0,08.011 1,07.823 2,07.238 3,08.207 192,4 # 0,08.166 1,08.398 2,08.046 3,08.004 4,07.550 5,07.648 6,08.665 224,4 # 0,10.464 1,10.592 2,10.319 3,10.752 4,09.362 5,09.484 6,10.393 256,7 # 0,11.520 1,12.111 2,11.326 3,11.738 4,10.749 5,10.829 6,11.782 7,10.358 288,2 # 0,13.683 1,13.001 2,11.632 320,3 # 0,14.692 1,14.367 2,14.031 3,12.976 352,2 # 0,17.690 1,16.832 2,16.345 384,3 # 0,18.180 1,17.996 2,18.389 3,16.934 416,2 # 0,22.042 1,21.387 2,19.723 448,3 # 0,23.421 1,21.867 2,23.084 3,20.967 480,2 # 0,25.244 1,25.483 2,22.938 512,3 # 0,25.827 1,24.928 2,25.477 3,24.058 576,1 # 0,30.512 1,28.948 2,29.179 640,2 # 0,33.779 1,33.786 2,32.761 704,1 # 0,39.363 1,38.453 768,2 # 0,41.861 1,41.963 2,39.840 832,1 # 0,48.585 1,45.591 896,2 # 0,50.280 1,50.965 2,48.267 960,0 # 0,55.111 1,52.196 1024,6 # 0,68.935 1,57.674 2,62.171 3,57.906 4,55.794 5,56.286 6,52.834 1152,3 # 0,76.108 1,67.853 2,72.661 3,66.423 1280,1 # 0,90.100 1,74.693 2,81.379 1408,1 # 0,103.506 1,86.708 2,94.281 1536,1 # 0,108.006 1,88.274 2,99.421 1664,1 # 0,121.256 1,104.342 2,112.953 1792,1 # 0,129.806 1,112.295 2,118.586 1920,1 # 0,142.368 1,119.514 2,126.858 2048,4 # 0,150.875 1,136.186 2,133.486 3,126.269 4,118.425 2304,3 # 0,173.973 1,153.370 2,148.311 3,145.853 2560,2 # 0,196.582 1,173.234 2,168.803 2816,2 # 0,226.333 1,203.496 2,197.064 3072,2 # 0,240.954 1,213.326 2,206.237 3328,2 # 0,272.030 1,246.386 2,242.791 3584,2 # 0,289.307 1,262.271 2,257.283 3840,2 # 0,313.520 1,286.314 2,277.377 4096,5 # 0,348.949 1,348.564 2,301.371 3,341.449 4,295.580 5,276.031 [/code:1] I'll be happy to run a comparative test of 2.7 and 2.8 if you can sugets how to do that. |
|
|
|
|
|
#14 |
|
∂2ω=0
Sep 2002
República de California
2D7E16 Posts |
One last thing: you should remove any FFT lengths from your .cfg file which are not cost-effective. That means lengths where the best per-iteration time is actually worse than that for the next-higher FFT length. This typically occurs for lengths having an odd leading radix, for which the corresponding FFT algorithm is not as efficient as that of a slightly higher even radix. In your case, 960K is an example of this - on your hardware, using the power-of-2 length 1024K instead of 960K is more cost-effective. If you delete (note that you can't just comment it out) the 960K line from the .cfg file, the program will skip ahead and use 1024K for all the exponents for which it would normally use 960K.
This is also described in section (2) of http://hogranch.com/mayer/README.html#cfg . |
|
|
|
|
|
#15 | |
|
∂2ω=0
Sep 2002
República de California
2D7E16 Posts |
Quote:
|
|
|
|
|
![]() |
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Help with FFT length | Gradient | Software | 3 | 2013-12-16 01:53 |
| Unfixing FFT length for LL test | tichy | Software | 2 | 2011-01-12 21:18 |
| FFT Length | Samoflan | Information & Answers | 8 | 2010-02-16 22:05 |
| FFt length | mack | Information & Answers | 1 | 2009-09-06 03:24 |
| llr: FFT-length not monotone in n? | hhh | Software | 4 | 2008-12-20 09:49 |