mersenneforum.org Trial division with CUDA (mmff) -- used, but runs like new!
 Register FAQ Search Today's Posts Mark Forums Read

2018-09-30, 17:36   #331
RichD

Sep 2008
Kansas

3,449 Posts

Attached is a Linux build (with .exe) using CUDA 8.0 and sm_20, 30, 35, 50, 52, 61.
Attached Files
 mmff-0.28.zip (3.63 MB, 168 views)

Last fiddled with by RichD on 2018-09-30 at 17:37 Reason: add attachment

2018-10-01, 13:48   #332
ET_
Banned

"Luigi"
Aug 2002
Team Italia

483010 Posts

Quote:
 Originally Posted by RichD Attached is a Linux build (with .exe) using CUDA 8.0 and sm_20, 30, 35, 50, 52, 61.
Thanks RichD!

2018-10-02, 15:28   #333
RichD

Sep 2008
Kansas

3,449 Posts

I recalled this from the earlier days. You might be able to run mmff without installing the entire CUDA suite by referencing the dynamic library. I added a "lib" folder to the previous package. It can be run by:
Code:
LD_LIBRARY_PATH=./lib ./mmff.exe
I reference this post. For Linux x86_64 & CUDA 8.0.
Attached Files
 mmff-0.28.zip (3.75 MB, 167 views)

2018-10-24, 09:17   #334
ET_
Banned

"Luigi"
Aug 2002
Team Italia

2×3×5×7×23 Posts

Quote:
 Originally Posted by ET_ New CUDA version, new mmff required. A friend of us required a mmff version compiled for his GTX 1060 and CUDA 8. I have no Nvidia SDK or boards on my PC at the moment, so I can provide neither Linux nor Windows ones. I hope I will have a Windows version soon (thanks to Jerry). Thank you!! Luigi

2019-01-12, 19:00   #335
Dylan14

"Dylan"
Mar 2017

58610 Posts

Attached is a Windows 64bit executable and source for mmff set for CUDA 10. I post this here since this executable still gives me the error "Class problems. Factor divisible by 2, 3, 5, 7, or 11" even though the makefile "Makefile.win" is set to produce code for CC 3.0 and above (including 6.1 which covers Pascal cards, which is what I have) and I want to see if others can replicate the issue and provide me a fix, as Luigi was unable to help. Note you will need the CUDA 10 cudart dll, it can be found here: https://www.mersenneforum.org/mfaktc...in.cuda100.zip.
Attached Files
 mmff_exe_win64_cuda10.zip (2.60 MB, 185 views) mmff_src_cuda10.zip (171.9 KB, 176 views)

2019-01-15, 17:00   #336
kriesel

"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

33·5·43 Posts

Quote:
 Originally Posted by Dylan14 Attached is a Windows 64bit executable and source for mmff set for CUDA 10. I post this here since this executable still gives me the error "Class problems. Factor divisible by 2, 3, 5, 7, or 11" even though the makefile "Makefile.win" is set to produce code for CC 3.0 and above (including 6.1 which covers Pascal cards, which is what I have) and I want to see if others can replicate the issue and provide me a fix, as Luigi was unable to help. Note you will need the CUDA 10 cudart dll, it can be found here: https://www.mersenneforum.org/mfaktc...in.cuda100.zip.
Can't test here, since all installations are CUDA8 or lower. (Lots of old model cards in the fleet that CUDA10 aware drivers don't support)

 2019-06-26, 14:41 #337 GP2     Sep 2003 5×11×47 Posts Errors in the mmff code? I downloaded the mmff-0.28 source code. In mfaktc.c, there are lines like this (line 166 to 168): Code:  if (exp == 31) { unsigned int exp_mod8, exp_mod3, exp_mod5, exp_mod7, exp_mod11; exp_mod8 = 7; exp_mod3 = 1; exp_mod5 = 2; exp_mod7 = 1; exp_mod11 = 1; But aren't those values incorrect? Actually 31 mod n for n={8,3,5,7,11} = 7 1 1 3 9, not 7 1 2 1 1 Similarly for exp==61, exp==89, exp==107. But exp==127 does seems to use the right numbers. This seems like a misguided optimization attempt. The code for exp == 31, 61, 89, 107, 127 could be removed, and just let the default code remain (the code that explicitly uses exp % 8 and exp % 3 etc.) This is the code that selects classes. If it doesn't select the right classes, it won't find factors.
2019-06-26, 18:27   #338
ET_
Banned

"Luigi"
Aug 2002
Team Italia

12DE16 Posts

Quote:
 Originally Posted by GP2 I downloaded the mmff-0.28 source code. In mfaktc.c, there are lines like this (line 166 to 168): Code:  if (exp == 31) { unsigned int exp_mod8, exp_mod3, exp_mod5, exp_mod7, exp_mod11; exp_mod8 = 7; exp_mod3 = 1; exp_mod5 = 2; exp_mod7 = 1; exp_mod11 = 1; But aren't those values incorrect? Actually 31 mod n for n={8,3,5,7,11} = 7 1 1 3 9, not 7 1 2 1 1 Similarly for exp==61, exp==89, exp==107. But exp==127 does seems to use the right numbers. This seems like a misguided optimization attempt. The code for exp == 31, 61, 89, 107, 127 could be removed, and just let the default code remain (the code that explicitly uses exp % 8 and exp % 3 etc.) This is the code that selects classes. If it doesn't select the right classes, it won't find factors.
Mmff has been written by George Woltman's from a concept of Oliver Weihe. I think it's hard to believe they made such a mistake years ago and nobody noticed it...

2019-06-27, 04:00   #339
GP2

Sep 2003

A1916 Posts

Quote:
 Originally Posted by ET_ Mmff has been written by George Woltman's from a concept of Oliver Weihe. I think it's hard to believe they made such a mistake years ago and nobody noticed it...
Yes, I made an elementary mistake. Obviously, it's not 31 mod n, it's 2^31−1 mod n that has to be calculated, and then the values mod 8, 3, 5, 7, 11 are 7, 1, 2, 1, 1 as expected.

2019-06-27, 05:39   #340
Prime95
P90 years forever!

Aug 2002
Yeehaw, FL

11101110101102 Posts

Quote:
 Originally Posted by ET_ I think it's hard to believe they made such a mistake years ago and nobody noticed it...
Well evidence is quite good that they are guilty of choosing a poor name for a variable.

 2019-06-28, 19:56 #341 lalera     Jul 2003 11438 Posts hi, please can someone compile mmff for nvidia turing cards for win64 ?

 Similar Threads Thread Thread Starter Forum Replies Last Post mathPuzzles Math 8 2017-04-21 07:21 Peter Hackman Factoring 7 2009-10-26 18:27 SPWorley Math 8 2009-08-24 23:26 SPWorley Factoring 7 2009-08-16 00:23 ewmayer Factoring 7 2008-12-11 22:12

All times are UTC. The time now is 20:45.

Mon Oct 25 20:45:51 UTC 2021 up 94 days, 15:14, 0 users, load averages: 1.65, 1.84, 2.03