
View Poll Results: What size numbers do you ECM the most?  
<100 digits  0  0%  
100149 digits  6  35.29%  
150199 digits  7  41.18%  
200299 digits  5  29.41%  
300+ digits  5  29.41%  
Multiple Choice Poll. Voters: 17. You may not vote on this poll 

Thread Tools 
20200117, 11:45  #12 
Just call me Henry
"David"
Sep 2007
Liverpool (GMT/BST)
6033_{10} Posts 
Do they need to be B1 powersmooth or something similar? Maybe there is a limit on exponent?
What language is that code? If it is python 2 then I have a few things undefined starting with ZZ. What tweaks would be needed to the code for the other parameterizations? Nongpu code uses parameterization 1 currently I think. 
20200117, 12:00  #13  
"Seth"
Apr 2019
1DF_{16} Posts 
Quote:
The code is sage. Heres' the parameterization for param0, given by paul zimmerman in https://homepages.cwi.nl/~herman/Zimmermann.pdf Code:
def GroupOrderParam0(p, sigma): K = GF(p) v = (4*sigma) * K.gen() u = (sigma^2  5) * K.gen() x = u^3 b = 4*x*v a = (vu)^3*(3*u+v) A = a/b2 x = x/v^3 b = x^3 + A*x^2 + x return factor(EllipticCurve([0,b*A,0,b^2,0]).order()) 

20200117, 15:53  #14 
Jul 2018
19 Posts 
GPUenabled ECM has been very useful as I work my way through https://stdkmd.net/nrr/3/37771.htm ; being able to bring that to bear on composites of more than 300 digits would be quite helpful.

20200118, 15:23  #15  
"Ed Hall"
Dec 2009
Adirondack Mtns
5,261 Posts 
Quote:
There are no instructions for use, but some hints were provided in the thread and the source code has some further command info. I got a little ways playing with it using Colab, but haven't pursued much further? 

20200118, 17:14  #16 
Sep 2009
2^{2}×607 Posts 
GPUGLS would be nice, but the slowest step in the size range I'm working on is sieving. And has anyone actually got it working?
Chris 
20200121, 02:54  #17 
"Seth"
Apr 2019
479 Posts 
I finished a script to generate random primes and verify the results from GPU
https://github.com/sethtroisi/gmpecm/pull/1 The end result is that changing ECM_GPU_NB_DIGITS doesn't seem to change first stage results (this could have maybe been more easily verified by just generating two save files and comparing but what you gonna do). 
20200121, 10:20  #18  
"Seth"
Apr 2019
1DF_{16} Posts 
Quote:
Code:
make clean make # Modify ECM_GPU_NB_DIGITS make # without make clean run_tests.sh 

20200121, 12:11  #19 
Random Account
Aug 2009
Not U. + S.A.
100111101110_{2} Posts 
The last time I checked, the GPU ceiling for GMPECM was something like 2^1018, or similar. I stopped using GMPECM completely because its results format was not compatible with the Primenet server. Simply put, there was no way to submit results.
As for ECM's themselves, I keep them low by leaving the RAM settings in Prime95 at their defaults. The largest I ever see is less then 2^50000. I hammered on the infamous M1277 for about a month. I ran stage 1 on Prime95 and stage 2 on GMPECM. 
20200208, 16:55  #20 
Sep 2009
2^{2}·607 Posts 
I've managed to get ecm gpu using 512 bits working (ecmgpu.orig contains ecm as downloaded):
Code:
chris@sirius:~$ cp rp ecmgpu.orig ecmgpu.512 chris@sirius:~$ cd ecmgpu.512/trunk/ chris@sirius:~/ecmgpu.512/trunk$ vi ecmgpu.h chris@sirius:~/ecmgpu.512/trunk$ diff ecmgpu.h ~/ecmgpu/trunk/ecmgpu.h 11c11 < #define ECM_GPU_NB_DIGITS 16 //by default  > #define ECM_GPU_NB_DIGITS 32 //by default chris@sirius:~/ecmgpu.512/trunk$ autoreconf si chris@sirius:~/ecmgpu.512/trunk$ ./configure enablegpu=sm30 chris@sirius:~/ecmgpu.512/trunk$ make And it's about 3 times faster: Code:
chris@sirius:~/ecmgpu.512/trunk$ time /home/chris/ecmgpu.512/trunk/ecm gpu save test512.save 25e4 1 <c124 GMPECM 7.0.5dev [configured with GMP 6.1.2, enableasmredc, enablegpu, enableassert] [ECM] Input number is 2088670024556113224297109395369395183779876369517763563228422726095769254537691675467317948724772159382494596201511204381801 (124 digits) Using B1=250000, B2=1, sigma=3:14648086193:1464809002 (384 curves) GPU: Block: 16x32x1 Grid: 12x1x1 (384 parallel curves) Computing 384 Step 1 took 1701ms of CPU time / 19927ms of GPU time real 0m20.098s user 0m1.730s sys 0m0.446s Code:
chris@sirius:~/ecmgpu.512/trunk$ time /home/chris/ecmgpu/trunk/ecm gpu save test1024.save 25e4 1 <c124 GMPECM 7.0.5dev [configured with GMP 6.1.2, enableasmredc, enablegpu, enableassert] [ECM] Input number is 2088670024556113224297109395369395183779876369517763563228422726095769254537691675467317948724772159382494596201511204381801 (124 digits) Using B1=250000, B2=1, sigma=3:2090522713:209052654 (384 curves) GPU: Block: 32x32x1 Grid: 12x1x1 (384 parallel curves) Computing 384 Step 1 took 2159ms of CPU time / 68460ms of GPU time real 1m8.670s user 0m2.179s sys 0m0.660s Chris 
20200209, 02:35  #21 
"Seth"
Apr 2019
479 Posts 
If you check the SVN repo I added check_gpuecm.sage which tests finding primes vs theoretical results (it generates a bunch of small primes that can be found with B1=x, then checks that they get found correctly)
I'm on mobile but can write more later 
20210910, 03:54  #22  
"Seth"
Apr 2019
479 Posts 
Quote:
All of these are equivalent to one t35 (using param3) 1,116 curves at B1=1e6, B2=1e9 (traditional) 747 curves at B1=1.3e6, B2=2.86e9 (equal time for both stages) 1850 curves at B1=1.9e6, B2=28.5e6 (equal time for both stages with a 40x faster stage 1) Now these take respectively (for the 146 digit input I tested) 1116 * (1082 + 757)ms = 34.2 minutes 747 * (1414 + 1479)ms = 36 minutes 1850 * (2045 + 72)ms = 65 minutes (on CPU) 1850 * (2045/40 + 72)ms = 3.8 minutes (1.5 minutes GPU + 2 minutes CPU) So now 34.2 minutes for a t35 has been reduced to 3.8 minutes! or a 9x speedup! In the case that you pair 8 CPUs with a GPU, the stage 1 effective speedup is only 40/8 = 5x and the overall speedup is muted to 3x from 34.2/8 = 4.3 minutes to 45 seconds GPU + 51 seconds CPU = 1.5 minutes 

Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
What size numbers can CudaLucas handle?  robertfrost  GPU Computing  8  20190110 13:14 
Why have ECM testing for known nonprime Mersenne numbers?  sd235  Information & Answers  12  20181206 17:56 
Testing my numbers  Vicodin  Information & Answers  21  20170502 05:11 
About GNFS and size of smooth numbers  JuanraG  Factoring  7  20141104 16:43 
testing big numbers  sagan_fan  Math  8  20021009 21:20 