Can you compile a generalized version that can work for any base (positive or negative) with no limits on the size of the base (<32 bits). If it does not calculate the remainders (Legendre/Jacobi symbols) that would be fine.
Thanks. 
[QUOTE=Citrix;595625]Can you compile a generalized version that can work for any base (positive or negative) with no limits on the size of the base (<32 bits). If it does not calculate the remainders (Legendre/Jacobi symbols) that would be fine.
Thanks.[/QUOTE] Hi, there is no quick way in doing so since the fast GPU assembler routines are only using 32 bit integer multiplication. To extend this to 64 bit exponents one would have to rewrite all the routines which are using the exponent, e.g. mod_192_96() in tf_96bit.cu. I'll have a look into this but won't promise anything. 
[QUOTE=MrRepunit;596116]Hi,
there is no quick way in doing so since the fast GPU assembler routines are only using 32 bit integer multiplication. To extend this to 64 bit exponents one would have to rewrite all the routines which are using the exponent, e.g. mod_192_96() in tf_96bit.cu. I'll have a look into this but won't promise anything.[/QUOTE] I appreciate your efforts. I am looking to work on larger 32 bit bases and not larger 64 bit exponents. For example, the current program cannot handle factoring 10000001^999431+1 I just wanted to clarify to make sure we were talking about the same thing. 
1 Attachment(s)
[QUOTE=Citrix;596198]I appreciate your efforts. I am looking to work on larger 32 bit bases and not larger 64 bit exponents.
For example, the current program cannot handle factoring 10000001^999431+1 I just wanted to clarify to make sure we were talking about the same thing.[/QUOTE] Okay, your example helped to understand what the problem was: There was a buffer overflow due to the too long checkpoint file name generated from the base and exponent. I fixed this, see attached checkpoint.c file. Just replace it and recompile. If you need a Linux 64 Bit executable I can provide you with one, but chances are low that it runs on your system anyway. I hope this helps. 
1 Attachment(s)
I attached the executable for Linux 64 bit (CUDA 11.20).
[CODE] $ ./grmfaktc.exe tf 10000001 999431 1 60 mfaktc (generalized repunit edition) v0.21 (64bit built) Compiled on Dec 25 2021 <snip> CUDA version info binary compiled for CUDA 11.20 CUDA runtime version 11.20 CUDA driver version 11.20 <snip> got assignment: base=10000001 exp=999431 bit_min=1 bit_max=60 (0.15 GHzdays) Starting trial factoring R[10000001]999431 from 2^1 to 2^60 (0.15 GHzdays) INFO: No known remainders for base 10000001, falling back to simple trial factoring. INFO: Testing 1920 out of 4620 classes. k_min = 0 k_max = 576788945213 Using GPU kernel "64bit_mul32_gs" Date Time  class Pct  time ETA  GHzd/day Sieve  Exp Base bitrange Dec 26 22:51  4618 100.0%  0.020 n.a.  345.77 78133  999431 10000001 1:60 no factor for R[10000001]999431 from 2^1 to 2^60 [mfaktc 0.21 64bit_mul32_gs] tf(): total time spent: 40.149s [/CODE] 
Hi,
What's the link for the latest grmfaktc source code, if I want to compile myself for Linux? Thanks! 
I keep a mirror of sorts at [url]https://download.mersenne.ca/mfaktcgr[/url] but the most recent update I have is from over a year ago.

1 Attachment(s)
Here is the newest source code with included Linux 64 Bit binary, currently I cannot build a Windows binary. Not much has changed since last year, only the recent bugfix and some minor additional output.

Does anyone have a compiled windows version for the latest code? Thanks.

Could you please build and post a [U]static[/U] Linux 64 bit binary. I cannot get the dynamic binary to work with WSL2. I get the following error. I did try installing the CUDA toolkit but it does not seem to work. Thanks.
[CODE] ./grmfaktc.exe: error while loading shared libraries: libcudart.so.11.0: cannot open shared object file: No such file or directory [/CODE] 
All times are UTC. The time now is 01:33. 
Powered by vBulletin® Version 3.8.11
Copyright ©2000  2023, Jelsoft Enterprises Ltd.