mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2022-04-03, 17:07   #144
wombatman
I moo ablest echo power!
 
wombatman's Avatar
 
May 2013

3·619 Posts
Default

Quote:
Originally Posted by SethTro View Post
This is expected. I'm balancing binary size and compile time vs range of numbers that can be tested.

If you want to run ECM on numbers > 1020 bits look around line 670 in cgbn_stage1.cu
Good deal. Thanks!
wombatman is offline   Reply With Quote
Old 2022-07-12, 00:30   #145
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

22·13·107 Posts
Default

Quote:
Originally Posted by SethTro View Post
IFAIK you don't need to compile CGBN (or setup the googletest), you just need the folder downloaded ("cloned") from Github.
I've brought the folder down (via git) without installing CGBN for a second machine and although cgbn.h is present, ECM says it is not:
Code:
configure: Using CGBN from /home/math56/Math/CGBN/include/cgbn
checking if CGBN is present... no
 configure: error: cgbn.h not found (check if /cgbn needed after <PATH>/include)
I've tried with and without /cgbn after /include, per the readme, with no success. I've also tried copying cgbn.h into different places.
Code:
$ ls /home/math56/Math/CGBN/include/cgbn
arith       cgbn.cu      cgbn.h      core          impl_mpz.cc
cgbn_cpu.h  cgbn_cuda.h  cgbn_mpz.h  impl_cuda.cu
EdH is offline   Reply With Quote
Old 2022-11-13, 03:26   #146
Rubiksmath
 
Sep 2022

53 Posts
Default

Yes, actually I was wondering about being able to run GPU CGBN ECM on larger inputs, I've had a look at line ~670 in cgbn_stage1.cu where I do see stuff pertaining to increasing this limit. I tried using the pair (64,65536) on line 674, but that most definitely doesn't work, (probably isn't listed in the file for a reason). I've dropped that down to what is shown as being possible in the file (32,32768), and it works just fine. Is there any way for me to run ECM on CGBN for inputs 32768 bits < x < 65536 bits? it's not a huge deal if I can't, but I just want to make sure if there is a genuine limitation on that front or not.
Rubiksmath is offline   Reply With Quote
Old 2022-11-13, 04:28   #147
frmky
 
frmky's Avatar
 
Jul 2003
So Cal

2,663 Posts
Default

Quote:
Originally Posted by Rubiksmath View Post
Is there any way for me to run ECM on CGBN for inputs 32768 bits < x < 65536 bits?
The mp library this uses, CGBN, only supports up to 32K bits.
frmky is offline   Reply With Quote
Old 2022-11-13, 05:36   #148
Rubiksmath
 
Sep 2022

53 Posts
Default

Yeah its fine, but I realised it's close to the crossover point for prime95 being faster on my setup anyways, but thanks.
Rubiksmath is offline   Reply With Quote
Old 2023-01-10, 23:12   #149
unconnected
 
unconnected's Avatar
 
May 2009
Moscow, Russia

2,963 Posts
Default

Code:
GMP-ECM 7.0.5-dev [configured with GMP 6.2.0, --enable-asm-redc, --enable-gpu, --enable-assert] [ECM]
Tuned for x86_64/k8/params.h
Running on 26e7257eb032
Input number is 4933690381437887549969735079506443650079144604086477481448833678294621880539619157395309333381034407331998010707341338594855159592072955760853143773167984453717817933398916246333087963048042904812789734246049822280162009403879978378918898771591314986935017070386367227682824501468178552695667071784654604199 (307 digits)
Using MODMULN [mulredc:1, sqrredc:1]
Computing batch product (of 15869673 bits) of primes up to B1=11000000 took 400ms
GPU: will use device -1: Tesla P100-PCIE-16GB, compute capability 6.0, 56 MPs.
GPU: maxSharedPerBlock = 49152 maxThreadsPerBlock = 1024 maxRegsPerBlock = 65536
GPU: Selection and initialization of the device took 24ms
Using B1=11000000, B2=0, sigma=3:435506682-3:435508473 (1792 curves)
dF=0, k=0, d=55304, d2=0, i0=0
Expected number of curves to find a factor of n digits (assuming one exists):
35	40	45	50	55	60	65	70	75	80
1683	12398	103007	951342	9649550	1.1e+08	1.1e+09	1.4e+11	Inf	Inf
ecm: cgbn_stage1.cu:770: int cgbn_ecm_stage1(__mpz_struct (*)[1], int*, const __mpz_struct*, const __mpz_struct*, uint32_t, uint32_t, float*, int): Assertion `pct_faster > 100' failed.
Is this expected behaviour because the input is close to 2^1024?
unconnected is offline   Reply With Quote
Old 2023-01-11, 01:06   #150
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2·3·83 Posts
Default

Quote:
Originally Posted by unconnected View Post
Code:
ecm: cgbn_stage1.cu:770: int cgbn_ecm_stage1(__mpz_struct (*)[1], int*, const __mpz_struct*, const __mpz_struct*, uint32_t, uint32_t, float*, int): Assertion `pct_faster > 100' failed.
Is this expected behaviour because the input is close to 2^1024?
This is not expected, and probably has to do with a bad assumption of mine in this block

Code:
  /* Alert that recompiling with a smaller kernel would likely improve speed */
  {
    size_t optimized_bits = ((n_log2 + 5)/128 + 1) * 128;
    if (optimized_bits < BITS && 0.8 * BITS > n_log2 ) {
      /* Assume speed is roughly O(N) but slightly slower for not being a power of two */
      float pct_faster = 90 * BITS / optimized_bits;
      assert(pct_faster > 100);
      outputf (OUTPUT_VERBOSE, "Compiling custom kernel for %d bits should be ~%.0f%% faster\n",
              optimized_bits, pct_faster);
    }
  }
you can disable the assert without consequences and I'll work on patching it in the repo soon(tm).
SethTro is offline   Reply With Quote
Old 2023-01-11, 04:54   #151
unconnected
 
unconnected's Avatar
 
May 2009
Moscow, Russia

2,963 Posts
Default

Got it, thank you!
unconnected is offline   Reply With Quote
Old 2023-01-11, 21:50   #152
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2×3×83 Posts
Default

https://gitlab.inria.fr/zimmerma/ecm...ccdac727726c5c

Should be fixed now;

You correctly guessed it's because your number is right up against the limit.

It's possible that CARRY_BITS can be significantly reduced from 6 to 2? 1? which would speedup numbers C152-C153 and C306-C308 significantly but would require checking results on several cards or adding a new test.
SethTro is offline   Reply With Quote
Old 2023-01-22, 16:34   #153
Denial140
 
Dec 2021

24×5 Posts
Default

I have been trying to compile this for a GTX1660Ti on Debian 11 without much success. I should probably preface this by saying I am completely inexperienced with building things on Linux, so if I miss out information that would be helpful for debugging then please let me know.

I followed successfully EdH's guide on installing GMP. I tried installing the latest ECM from https://gitlab.inria.fr/zimmerma/ecm and it successfully installs when I try without --enable-gpu, but I run into issues with the gpu, which are similar whether I use CGBN or not. (I am mainly interested in running on Mersennes, so I'd figured I'd post here given CGBN is pretty much required for that). The only difference is that, when I include CGBN, I can't use the --with-gmp option, as it fails to find the CGBN library. Anyway onto the more important issues:

When I set the compiler to gcc (have tried gcc, gcc-10 and gcc-9 commands), the configure fails with "cuda.h present but cannot be compiled". I tried also to get gcc-8 as suggested in readme.gpu, but installing gcc-8 seems to uninstall the Nvidia toolkit (whether I use version 12.0 or 11.2 of the toolkit), and vice versa. If instead I set it to nvcc, I get a similar error for gmp.h. The only thing that gets past this stage is setting it to g++, which causes issues further down the line.

The configure works fine with g++, but make gives several implicit type conversion errors (presumably as a result of treating main.c as C++? This was the impression I got from google.) Adding -fpermissive bypasses these, but gives a couple of errors about definitions crossing label jumps in cudawrapper.c. After adding some variable declarations to account for this, I get stuck with the following errors:
Code:
/bin/bash ./libtool  --tag=CC   --mode=link g++  -g -W -Wall -Wundef -pedantic -g -O2 -DWITH_GPU  -version-info 1:0:0 -g   -o libecm.la -rpath /usr/local/lib libecm_la-ecm.lo libecm_la-ecm2.lo libecm_la-pm1.lo libecm_la-pp1.lo libecm_la-getprime_r.lo libecm_la-listz.lo libecm_la-lucas.lo libecm_la-stage2.lo libecm_la-mpmod.lo libecm_la-mul_lo.lo libecm_la-polyeval.lo libecm_la-median.lo libecm_la-schoen_strass.lo libecm_la-ks-multiply.lo libecm_la-rho.lo libecm_la-bestd.lo libecm_la-auxlib.lo libecm_la-random.lo libecm_la-factor.lo libecm_la-sp.lo libecm_la-spv.lo libecm_la-spm.lo libecm_la-mpzspm.lo libecm_la-mpzspv.lo libecm_la-ntt_gfp.lo libecm_la-ecm_ntt.lo libecm_la-pm1fs2.lo libecm_la-sets_long.lo libecm_la-auxarith.lo libecm_la-batch.lo libecm_la-parametrizations.lo libecm_la-cudawrapper.lo aprtcle/libecm_la-mpz_aprcl.lo libecm_la-addlaws.lo libecm_la-torsions.lo cudakernel.lo cudacommon.lo cgbn_stage1.lo  ./x86_64/libmulredc.la -lcudart -lstdc++ -lgmp -lrt -lm -lm -lm -lm -lm   
libtool: link: rm -fr  .libs/libecm.a .libs/libecm.la .libs/libecm.lai
libtool: link: (cd .libs/libecm.lax/libmulredc.a && ar x "/home/daniel/maths_compute/gmp-ecm/ecm-edited/./x86_64/.libs/libmulredc.a")
libtool: link: ar cr .libs/libecm.a  libecm_la-ecm.o libecm_la-ecm2.o libecm_la-pm1.o libecm_la-pp1.o libecm_la-getprime_r.o libecm_la-listz.o libecm_la-lucas.o libecm_la-stage2.o libecm_la-mpmod.o libecm_la-mul_lo.o libecm_la-polyeval.o libecm_la-median.o libecm_la-schoen_strass.o libecm_la-ks-multiply.o libecm_la-rho.o libecm_la-bestd.o libecm_la-auxlib.o libecm_la-random.o libecm_la-factor.o libecm_la-sp.o libecm_la-spv.o libecm_la-spm.o libecm_la-mpzspm.o libecm_la-mpzspv.o libecm_la-ntt_gfp.o libecm_la-ecm_ntt.o libecm_la-pm1fs2.o libecm_la-sets_long.o libecm_la-auxarith.o libecm_la-batch.o libecm_la-parametrizations.o libecm_la-cudawrapper.o aprtcle/libecm_la-mpz_aprcl.o libecm_la-addlaws.o libecm_la-torsions.o cudakernel.o cudacommon.o cgbn_stage1.o  .libs/libecm.lax/libmulredc.a/mulredc1.o .libs/libecm.lax/libmulredc.a/mulredc10.o .libs/libecm.lax/libmulredc.a/mulredc11.o .libs/libecm.lax/libmulredc.a/mulredc12.o .libs/libecm.lax/libmulredc.a/mulredc13.o .libs/libecm.lax/libmulredc.a/mulredc14.o .libs/libecm.lax/libmulredc.a/mulredc15.o .libs/libecm.lax/libmulredc.a/mulredc16.o .libs/libecm.lax/libmulredc.a/mulredc17.o .libs/libecm.lax/libmulredc.a/mulredc18.o .libs/libecm.lax/libmulredc.a/mulredc19.o .libs/libecm.lax/libmulredc.a/mulredc1_10.o .libs/libecm.lax/libmulredc.a/mulredc1_11.o .libs/libecm.lax/libmulredc.a/mulredc1_12.o .libs/libecm.lax/libmulredc.a/mulredc1_13.o .libs/libecm.lax/libmulredc.a/mulredc1_14.o .libs/libecm.lax/libmulredc.a/mulredc1_15.o .libs/libecm.lax/libmulredc.a/mulredc1_16.o .libs/libecm.lax/libmulredc.a/mulredc1_17.o .libs/libecm.lax/libmulredc.a/mulredc1_18.o .libs/libecm.lax/libmulredc.a/mulredc1_19.o .libs/libecm.lax/libmulredc.a/mulredc1_2.o .libs/libecm.lax/libmulredc.a/mulredc1_20.o .libs/libecm.lax/libmulredc.a/mulredc1_3.o .libs/libecm.lax/libmulredc.a/mulredc1_4.o .libs/libecm.lax/libmulredc.a/mulredc1_5.o .libs/libecm.lax/libmulredc.a/mulredc1_6.o .libs/libecm.lax/libmulredc.a/mulredc1_7.o .libs/libecm.lax/libmulredc.a/mulredc1_8.o .libs/libecm.lax/libmulredc.a/mulredc1_9.o .libs/libecm.lax/libmulredc.a/mulredc2.o .libs/libecm.lax/libmulredc.a/mulredc20.o .libs/libecm.lax/libmulredc.a/mulredc3.o .libs/libecm.lax/libmulredc.a/mulredc4.o .libs/libecm.lax/libmulredc.a/mulredc5.o .libs/libecm.lax/libmulredc.a/mulredc6.o .libs/libecm.lax/libmulredc.a/mulredc7.o .libs/libecm.lax/libmulredc.a/mulredc8.o .libs/libecm.lax/libmulredc.a/mulredc9.o 
libtool: link: ranlib .libs/libecm.a
libtool: link: rm -fr .libs/libecm.lax
libtool: link: ( cd ".libs" && rm -f "libecm.la" && ln -s "../libecm.la" "libecm.la" )
/bin/bash ./libtool  --tag=CC   --mode=link g++  -g -W -Wall -Wundef -pedantic -g -O2 -DWITH_GPU   -o ecm ecm-auxi.o ecm-b1_ainc.o ecm-candi.o ecm-eval.o ecm-main.o ecm-resume.o ecm-addlaws.o ecm-torsions.o ecm-getprime_r.o aprtcle/ecm-mpz_aprcl.o ecm-memusage.o libecm.la -lgmp -lrt -lm -lm -lm -lm -lm   
libtool: link: g++ -g -W -Wall -Wundef -pedantic -g -O2 -DWITH_GPU -o ecm ecm-auxi.o ecm-b1_ainc.o ecm-candi.o ecm-eval.o ecm-main.o ecm-resume.o ecm-addlaws.o ecm-torsions.o ecm-getprime_r.o aprtcle/ecm-mpz_aprcl.o ecm-memusage.o  ./.libs/libecm.a -lcudart -lstdc++ -lgmp -lrt -lm
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `mulredc(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, long, unsigned long)':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:399: undefined reference to `mulredc20(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:396: undefined reference to `mulredc19(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:393: undefined reference to `mulredc18(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:390: undefined reference to `mulredc17(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:387: undefined reference to `mulredc16(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:384: undefined reference to `mulredc15(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:381: undefined reference to `mulredc14(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:378: undefined reference to `mulredc13(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:375: undefined reference to `mulredc12(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:372: undefined reference to `mulredc11(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:369: undefined reference to `mulredc10(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:366: undefined reference to `mulredc9(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:363: undefined reference to `mulredc8(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:360: undefined reference to `mulredc7(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:357: undefined reference to `mulredc6(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:354: undefined reference to `mulredc5(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:351: undefined reference to `mulredc4(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:348: undefined reference to `mulredc3(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:345: undefined reference to `mulredc2(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:342: undefined reference to `mulredc1(unsigned long*, unsigned long, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `ecm_redc_n(unsigned long*, unsigned long const*, long, unsigned long const*, unsigned long const*, long)':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:199: undefined reference to `__gmpn_mullo_n(unsigned long*, unsigned long const*, unsigned long const*, long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:211: undefined reference to `__gmpn_add_nc(unsigned long*, unsigned long const*, unsigned long const*, long, unsigned long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `ecm_mulredc_basecase_n(unsigned long*, unsigned long const*, unsigned long const*, unsigned long const*, long, unsigned long*, unsigned long*)':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:589: undefined reference to `__gmpn_redc_1(unsigned long*, unsigned long*, unsigned long const*, long, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:595: undefined reference to `__gmpn_redc_2(unsigned long*, unsigned long*, unsigned long const*, long, unsigned long const*)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `ecm_sqrredc_basecase_n(unsigned long*, unsigned long const*, unsigned long const*, long, unsigned long*, unsigned long*) [clone .part.0]':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:648: undefined reference to `__gmpn_redc_1(unsigned long*, unsigned long*, unsigned long const*, long, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:654: undefined reference to `__gmpn_redc_2(unsigned long*, unsigned long*, unsigned long const*, long, unsigned long const*)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `__ecm_mpres_mul_z_to_z':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1596: undefined reference to `__gmpn_fft_best_k(long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1597: undefined reference to `__gmpn_fft_next_size(long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1620: undefined reference to `__gmpn_mul_fft(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, int)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `__ecm_mpres_get_z':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:269: undefined reference to `__gmpn_redc_2(unsigned long*, unsigned long*, unsigned long const*, long, unsigned long const*)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `__ecm_mpresn_mul_ui':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:2326: undefined reference to `__gmpn_add_nc(unsigned long*, unsigned long const*, unsigned long const*, long, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:548: undefined reference to `mulredc1_20(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `mulredc_1':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:491: undefined reference to `mulredc1(unsigned long*, unsigned long, unsigned long, unsigned long, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:494: undefined reference to `mulredc1_2(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:497: undefined reference to `mulredc1_3(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:500: undefined reference to `mulredc1_4(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:503: undefined reference to `mulredc1_5(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:506: undefined reference to `mulredc1_6(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:509: undefined reference to `mulredc1_7(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:512: undefined reference to `mulredc1_8(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:515: undefined reference to `mulredc1_9(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:518: undefined reference to `mulredc1_10(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:521: undefined reference to `mulredc1_11(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:524: undefined reference to `mulredc1_12(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:527: undefined reference to `mulredc1_13(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:530: undefined reference to `mulredc1_14(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:533: undefined reference to `mulredc1_15(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:536: undefined reference to `mulredc1_16(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:539: undefined reference to `mulredc1_17(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:542: undefined reference to `mulredc1_18(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:545: undefined reference to `mulredc1_19(unsigned long*, unsigned long, unsigned long const*, unsigned long const*, unsigned long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-mpmod.o): in function `__ecm_mpres_mul':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1421: undefined reference to `__gmpn_fft_best_k(long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1422: undefined reference to `__gmpn_fft_next_size(long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1445: undefined reference to `__gmpn_mul_fft(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/mpmod.c:1445: undefined reference to `__gmpn_mul_fft(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, int)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-schoen_strass.o): in function `F_divby3_1(__mpz_struct*, unsigned int)':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:246: undefined reference to `__gmpn_mod_34lsub1(unsigned long*, long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:246: undefined reference to `__gmpn_mod_34lsub1(unsigned long*, long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-schoen_strass.o): in function `F_mulmod(__mpz_struct*, __mpz_struct*, __mpz_struct*, unsigned int)':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:156: undefined reference to `__gmpn_fft_best_k(long, int)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:159: undefined reference to `__gmpn_mul_fft(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, int)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-schoen_strass.o): in function `__ecm_F_mul':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:277: undefined reference to `__gmpn_mod_34lsub1(unsigned long*, long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-schoen_strass.o): in function `F_divby5_1':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/schoen_strass.c:277: undefined reference to `__gmpn_mod_34lsub1(unsigned long*, long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-ks-multiply.o): in function `__ecm_TMulKS':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:483: undefined reference to `__gmpn_mulmod_bnm1_next_size(long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:503: undefined reference to `__gmpn_mulmod_bnm1(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, unsigned long*)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:501: undefined reference to `__gmpn_mulmod_bnm1(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, unsigned long*)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-ks-multiply.o): in function `__ecm_ks_wrapmul_m':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:558: undefined reference to `__gmpn_mulmod_bnm1_next_size(long)'
/usr/bin/ld: ./.libs/libecm.a(libecm_la-ks-multiply.o): in function `__ecm_ks_wrapmul':
/home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:628: undefined reference to `__gmpn_mulmod_bnm1_next_size(long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:632: undefined reference to `__gmpn_mulmod_bnm1_next_size(long)'
/usr/bin/ld: /home/daniel/maths_compute/gmp-ecm/ecm-edited/ks-multiply.c:653: undefined reference to `__gmpn_mulmod_bnm1(unsigned long*, long, unsigned long const*, long, unsigned long const*, long, unsigned long*)'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1027: ecm] Error 1
make[2]: Leaving directory '/home/daniel/maths_compute/gmp-ecm/ecm-edited'
make[1]: *** [Makefile:1963: all-recursive] Error 1
make[1]: Leaving directory '/home/daniel/maths_compute/gmp-ecm/ecm-edited'
make: *** [Makefile:837: all] Error 2
that I'm not really sure how to describe. A bunch of undefined references functions (some of which I presume come from the asm in x86_64 subfolder, and some of which confusingly look like GMP inbuilt stuff.)

If anyone has any suggestions or advice for getting this to work with either gcc or g++ or whatever, please let me know.
Denial140 is online now   Reply With Quote
Old 2023-01-22, 17:05   #154
paulunderwood
 
paulunderwood's Avatar
 
Sep 2002
Database er0rr

5×937 Posts
Default

How far did you get with https://gitlab.inria.fr/zimmerma/ecm...r/INSTALL-ecm?

And: https://gitlab.inria.fr/zimmerma/ecm...er/README.gpu?
paulunderwood is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
NTT faster than FFT? moytrage Software 50 2021-07-21 05:55
PRP on gpu is faster that on cpu indomit Information & Answers 4 2020-10-07 10:50
faster than LL? paulunderwood Miscellaneous Math 13 2016-08-02 00:05
My CPU is getting faster and faster ;-) lidocorc Software 2 2008-11-08 09:26
Faster than LL? clowns789 Miscellaneous Math 3 2004-05-27 23:39

All times are UTC. The time now is 04:23.


Fri Jul 7 04:23:03 UTC 2023 up 323 days, 1:51, 0 users, load averages: 1.55, 1.64, 1.54

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔