![]() |
![]() |
#34 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
242B16 Posts |
![]()
I'll start with GFN7 and 11 for n>=201 up to limit of mmff-gfn v.0.28 (252 bits).
You will find two new tables above (GFN7 between GFN6 and GFN10, and GFN11). I will update current known limits for n<=200 for these ranges when I will find them exactly; for now, it is known from Keller's table thus: Code:
n Limit for k 26-50 2*10^12 51-100 1*10^12 101-200 100*10^9 201-300 15*10^9 |
![]() |
![]() |
![]() |
#35 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
925910 Posts |
![]()
The only change needed to build the mmff-gfn7.exe and mmff-gfn11.exe is:
append the following to mmffgfn-0.28/src/tf_gfn.h : Code:
#if (BASE == 7) #define BASE_n1 4 #define BASE_preinit a.d2 = 0; a.d1 = 0x1E39; a.d0 = 0xA5057D81 #define BASE_n2 5 #define BASE_preinit2 a.d4 = a.d3 = 0; a.d2 = 0x3918FA8; a.d1 = 0x303C3358; a.d0 = 0x6E913B01 #define BASE_n3 6 #define BASE_preinit3 a.d7 = a.d6 = 0; a.d5 = 0xCBC21; a.d4 = 0xFE4561C8; a.d3 = 0xD63B78E7; a.d2 = 0x80E1341E; a.d1 = 0x199417C8; a.d0 = 0xC0BB7601 #endif #if (BASE == 11) #define BASE_n1 4 #define BASE_preinit a.d2 = 0; a.d1 = 0xA33F09; a.d0 = 0x2E0B1AC1 #define BASE_n2 5 #define BASE_preinit2 a.d4 = 0; a.d3 = 0x6819; a.d2 = 0x55362721; a.d1 = 0xCE00DDAA; a.d0 = 0xAB61C581 #define BASE_n3 6 #define BASE_preinit3 a.d7 = 0; a.d6 = 0x2A5497BD; a.d5 = 0xC0BC1D6B; a.d4 = 0xEB50C360; a.d3 = 0xC8E92890; a.d2 = 0x618FB0CC; a.d1 = 0x7B96CC85; a.d0 = 0x9A21CB01 #endif Last fiddled with by Batalov on 2016-11-05 at 16:28 |
![]() |
![]() |
![]() |
#36 |
"Jerry"
Nov 2011
Vancouver, WA
1,123 Posts |
![]()
I can build, please refresh my memory on how to build them...
![]() |
![]() |
![]() |
![]() |
#37 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
925910 Posts |
![]()
Just like mfaktc (or like mmff). But first take the code from http://www.mersenneforum.org/mmff-gfn/ and add the patch (two messages above) to mmffgfn-0.28/src/tf_gfn.h .
The only difference is that you have to make many .exe files by changing (at the top of the same file mmffgfn-0.28/src/tf_gfn.h ) "#define BASE 3" to 5, 6, 7, 10, 11, and 12 (and always clean up all object files in between builds). |
![]() |
![]() |
![]() |
#38 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
220538 Posts |
![]()
Because I had not found any GFN7s just yet (while with much less work I'd found 3 GFN11s), I had of course built an extensive unit test. All of these find the expected factors just fine:
Code:
FermatFactor=25,620719e9,620720e9 FermatFactor=32,951e9,952e9 FermatFactor=44,205953e6,205954e6 FermatFactor=45,50766e6,50767e6 FermatFactor=46,580e6,581e6 FermatFactor=49,3867e6,3868e6 FermatFactor=52,30e6,31e6 FermatFactor=61,458e6,459e6 FermatFactor=66,63975e6,63976e6 FermatFactor=68,19250e6,19251e6 #FermatFactor=82,97,98 #--finds the factor but then stops FermatFactor=91,22066e6,22067e6 FermatFactor=93,933772e6,933773e6 FermatFactor=96,135404e6,135405e6 FermatFactor=102,250e6,251e6 FermatFactor=106,26949e6,26950e6 FermatFactor=110,3e5,4e5 FermatFactor=121,18e6,19e6 FermatFactor=141,51e6,52e6 FermatFactor=144,92500e6,92501e6 FermatFactor=148,94283e6,94284e6 FermatFactor=152,10139e6,10140e6 FermatFactor=167,14375e6,14376e6 FermatFactor=180,224e6,225e6 FermatFactor=181,1160e6,1161e6 FermatFactor=217,71600,71800 Last fiddled with by Batalov on 2016-11-12 at 17:05 |
![]() |
![]() |
![]() |
#39 |
Just call me Henry
"David"
Sep 2007
Cambridge (GMT/BST)
16A216 Posts |
![]()
It strikes me that it should be possible to automate that sort of patch so that only one binary is needed and new bases don't need to be added in the future.
|
![]() |
![]() |
![]() |
#40 |
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2
47·197 Posts |
![]()
It can be automated largely, but only as a code generator (not run-time; you'd want the constants to be in kernels for init, not fetched from global variables). The fat binary would simply drag along seven times more kernels than needed all the time. And of course the "worktodo.txt" definition would need to be extended.
|
![]() |
![]() |
![]() |
#41 |
"Jerry"
Nov 2011
Vancouver, WA
1,123 Posts |
![]()
Well, that took a long time, sorry, no excuse on building just got busy and forgot :(
All builds 32 and 64 bit CUDA 8.0 Tests went well except for the new 7 and 11. 7 had trouble with some errors and 11 didn't find any factors in the list, but I may have misread the testing post. If you have some test lines for 11, let me know. Otherwise, I think 7 needs some work or the testing is a bit off. So, the 7 and 11 need testing before actual use. I included the tests and cudart file and the files I used to compile with updates makefiles for new versions Let me know about the 7 and 11, if I need to update anything and rebuild, let me know ![]() |
![]() |
![]() |
![]() |
#42 |
"Jerry"
Nov 2011
Vancouver, WA
1,123 Posts |
![]()
Anyone had a chance to test the new builds, do they work as expected?
|
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
GFN factoring with mmff-gfn | Results | Batalov | Operazione Doppi Mersennes | 126 | 2016-11-12 12:22 |
mmff checkpoints | houding | Factoring | 1 | 2015-09-02 19:32 |
mmff parameters | MattcAnderson | Operazione Doppi Mersennes | 2 | 2015-07-08 15:28 |
Output bug in mmff | ATH | Operazione Doppi Mersennes | 8 | 2012-09-18 15:57 |
P minus 1 factoring - information and reservations | philmoore | Five or Bust - The Dual Sierpinski Problem | 1 | 2010-04-07 22:25 |