![]() |
1 Attachment(s)
Attached is a Linux build (with .exe) using CUDA 8.0 and sm_20, 30, 35, 50, 52, 61.
|
[QUOTE=RichD;497151]Attached is a Linux build (with .exe) using CUDA 8.0 and sm_20, 30, 35, 50, 52, 61.[/QUOTE]
Thanks RichD! :smile: :tu: |
1 Attachment(s)
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[/CODE] I reference this [url=https://www.mersenneforum.org/showpost.php?p=410994&postcount=3]post[/url]. For Linux x86_64 & CUDA 8.0. |
[QUOTE=ET_;497050]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[/QUOTE] :bump2: :bump: :bump2: |
2 Attachment(s)
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: [URL]https://www.mersenneforum.org/mfaktc/mfaktc-0.21/mfaktc-0.21.win.cuda100.zip[/URL].
|
[QUOTE=Dylan14;505723]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: [URL]https://www.mersenneforum.org/mfaktc/mfaktc-0.21/mfaktc-0.21.win.cuda100.zip[/URL].[/QUOTE]
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) |
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; [/CODE] 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 [c]exp % 8[/c] and [c]exp % 3[/c] etc.) This is the code that selects classes. If it doesn't select the right classes, it won't find factors. |
[QUOTE=GP2;520111]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; [/CODE] 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 [c]exp % 8[/c] and [c]exp % 3[/c] etc.) This is the code that selects classes. If it doesn't select the right classes, it won't find factors.[/QUOTE] 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... |
[QUOTE=ET_;520124]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...[/QUOTE]
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. |
[QUOTE=ET_;520124]I think it's hard to believe they made such a mistake years ago and nobody noticed it...[/QUOTE]
Well evidence is quite good that they are guilty of choosing a poor name for a variable. |
hi,
please can someone compile mmff for nvidia turing cards for win64 ? |
| All times are UTC. The time now is 00:40. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.