mersenneforum.org How to calculate FFT lengths of candidates
 Register FAQ Search Today's Posts Mark Forums Read

 2014-04-13, 16:27 #1 pepi37     Dec 2011 After milion nines:) 148310 Posts How to calculate FFT lengths of candidates I get this data from first megabit drive 554 candidates (144k: 49.8%, 160k: 50.2%) Can someone tell me how to calculate K weight of candidate? What formula is used ( I sow that AVX uses some different approach)
2014-04-14, 08:26   #2
Thomas11

Feb 2003

22·32·53 Posts

In principle the procedure is quite simple:
For each candidate in the input file the FFT length is obtained and then the percentages are computed.

In practise I'm using a small tool (see attachment) based on my "llrtools".
Attached Files
 fft_percentage.zip (4.1 KB, 161 views)

2014-04-14, 13:27   #3
Thomas11

Feb 2003

22·32·53 Posts

The attached file contains a binary for Windows machines.

Note that this is a command line tool. You'll need to run it from your DOS prompt:

Code:
fft_percentage.exe input.txt
Also note: The maxlen.txt file is for non-AVX machines.
Attached Files
 fft_percentage_win32.zip (11.1 KB, 160 views)

Last fiddled with by Thomas11 on 2014-04-14 at 13:28

2014-04-17, 11:18   #4
Thomas11

Feb 2003

22·32·53 Posts

Due to the recent interest (and also since the original LLR tools didn't contain the parameters for AVX machines), I'm posting here a Javascript version of the FFT length calculator - just a proof of concept, so don't expect any sophisticated piece of software...

It's a simple HTML file which you should be able to open in your favourite (Javascript enabled) web browser.

Usage is quite simple:
Enter the values for k, nmin and nmax, select the proper cpu type (avx, sse2, or x87) and hit the "Get FFT lengths" button.
Note that zero-padded FFTs use a different algorithm which is not yet implemented. Thus, for K>1000000 the points where the FFT lengths are changing are slightly different.

Feel free to further modify the code.
Attached Files
 llrtools_js.zip (2.2 KB, 159 views)

 2014-04-17, 14:24 #5 pepi37     Dec 2011 After milion nines:) 27138 Posts I dont wont to be rude but since I ask this for candidates on base 10 this is pretty unusable for me :(
2014-04-17, 18:03   #6
Batalov

"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

2·4,787 Posts

Quote:
 Originally Posted by pepi37 I get this data from first megabit drive 554 candidates (144k: 49.8%, 160k: 50.2%) Can someone tell me how to calculate K weight of candidate? What formula is used ( I sow that AVX uses some different approach)
Quote:
 Originally Posted by pepi37 I dont wont to be rude but since I ask this for candidates on base 10 this is pretty unusable for me :(
Eh?

Must be the language barrier.

Anyway, just run this
Code:
# ./sllr64 -d -q"2*10^1059002-1"
Base factorized as : 2*5
Base prime factor(s) taken : 5
Starting N+1 prime test of 2*10^1059002-1
Using AMD K8 FFT length 224K, Pass1=896, Pass2=256, a = 2
...and kill it (Ctrl-C)! Problem solved.
(In fact, if you set up llr.ini properly and wait for a few seconds, you will also get the time per iteration, ... and then you kill it.)

On a different CPU, the FFT kernel and size may be different.

 2014-04-17, 19:05 #7 pepi37     Dec 2011 After milion nines:) 27138 Posts Batalov, I truly love yours answers, and in fact that is way I found FFT length , start LLR , look at ,and stop it. But I was thinking if there is another ( faster way)....
 2014-04-17, 20:50 #8 Batalov     "Serge" Mar 2008 Phi(4,2^7658614+1)/2 256616 Posts You can of course, - understand the LLR source (and GWNUM library that it calls) - get the appropriate parts of the code and - repackage them in a new program or a script that will "predict" what particular FFT size will be used. You will have to update this accessory program every time the LLR+GWNUM changes, when there's a relevant change. There is no magic single formula! - there are decision paths (if-else-if-else-if-else...) that the GWNUM library uses when it is called to initialize the FFT control structures for a number. Find and read the PrimeGrid topic about that: they initially considered this to be too tedious, but then surprisingly this is what they exactly did: pre-run each number for a split second to know exactly what FFT size will be used and based their credit system on that knowledge.
 2014-04-17, 20:51 #9 Thomas11     Feb 2003 22×32×53 Posts There is an undocumented feature in LLR. Just add the following line to your llr.ini file: Code: SetupOnly=1 Then you will no longer need to kill it... However, for some forms the keyword is just ignored.

 Similar Threads Thread Thread Starter Forum Replies Last Post a1call Puzzles 17 2018-02-23 16:28 a nicol Math 1 2016-11-08 05:32 Belial88 Software 1 2012-11-12 16:37 cochet Miscellaneous Math 4 2008-10-24 14:33 CADavis Hardware 8 2005-11-29 10:29

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

Tue Oct 26 15:50:39 UTC 2021 up 95 days, 10:19, 0 users, load averages: 1.38, 1.38, 1.37