mersenneforum.org GFN factoring with mmff-gfn | Reservations
 Register FAQ Search Today's Posts Mark Forums Read

 2016-11-03, 22:01 #34 Batalov     "Serge" Mar 2008 Phi(4,2^7658614+1)/2 217118 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
 2016-11-04, 05:35 #35 Batalov     "Serge" Mar 2008 Phi(4,2^7658614+1)/2 23C916 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
 2016-11-07, 16:55 #36 flashjh     "Jerry" Nov 2011 Vancouver, WA 100011000112 Posts I can build, please refresh my memory on how to build them...
2016-11-07, 17:29   #37
Batalov

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

916110 Posts

Quote:
 Originally Posted by flashjh I can build, please refresh my memory on how to build them...
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).

 2016-11-07, 17:34 #38 Batalov     "Serge" Mar 2008 Phi(4,2^7658614+1)/2 9,161 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
 2016-11-08, 09:52 #39 henryzz Just call me Henry     "David" Sep 2007 Cambridge (GMT/BST) 34×71 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.
 2016-11-08, 16:20 #40 Batalov     "Serge" Mar 2008 Phi(4,2^7658614+1)/2 100011110010012 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.
2016-12-18, 02:34   #41
flashjh

"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
Attached Files
 mmff-gfnX-0.28-Win32-Win64-cuda8.7z (1.65 MB, 113 views) tests_and_cudart_cuda80.7z (150.0 KB, 109 views) mmff-gfn-0.28.7z (167.0 KB, 127 views)

 2017-01-03, 03:32 #42 flashjh     "Jerry" Nov 2011 Vancouver, WA 1,123 Posts Anyone had a chance to test the new builds, do they work as expected?

 Similar Threads Thread Thread Starter Forum Replies Last Post Batalov Operazione Doppi Mersennes 126 2016-11-12 12:22 houding Factoring 1 2015-09-02 19:32 MattcAnderson Operazione Doppi Mersennes 2 2015-07-08 15:28 ATH Operazione Doppi Mersennes 8 2012-09-18 15:57 philmoore Five or Bust - The Dual Sierpinski Problem 1 2010-04-07 22:25

All times are UTC. The time now is 08:11.

Sun Nov 29 08:11:22 UTC 2020 up 80 days, 5:22, 3 users, load averages: 1.91, 1.47, 1.27