![]() |
|
|||||||
| View Poll Results: What size numbers do you ECM the most? | |||
| <100 digits |
|
0 | 0% |
| 100-149 digits |
|
6 | 35.29% |
| 150-199 digits |
|
7 | 41.18% |
| 200-299 digits |
|
5 | 29.41% |
| 300+ digits |
|
5 | 29.41% |
| Multiple Choice Poll. Voters: 17. You may not vote on this poll | |||
![]() |
|
|
Thread Tools |
|
|
#12 |
|
Just call me Henry
"David"
Sep 2007
Cambridge (GMT/BST)
133708 Posts |
Do they need to be B1 power-smooth 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? Non-gpu code uses parameterization 1 currently I think. |
|
|
|
|
|
#13 | |
|
"Seth"
Apr 2019
3·97 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 = (v-u)^3*(3*u+v)
A = a/b-2
x = x/v^3
b = x^3 + A*x^2 + x
return factor(EllipticCurve([0,b*A,0,b^2,0]).order())
|
|
|
|
|
|
|
#14 |
|
Jul 2018
19 Posts |
GPU-enabled 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.
|
|
|
|
|
|
#15 | |
|
"Ed Hall"
Dec 2009
Adirondack Mtns
11×347 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? |
|
|
|
|
|
|
#16 |
|
Sep 2009
2·1,039 Posts |
GPU-GLS 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 |
|
|
|
|
|
#17 |
|
"Seth"
Apr 2019
1001000112 Posts |
I finished a script to generate random primes and verify the results from GPU
https://github.com/sethtroisi/gmp-ecm/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). |
|
|
|
|
|
#18 | |
|
"Seth"
Apr 2019
3·97 Posts |
Quote:
Code:
make clean make # Modify ECM_GPU_NB_DIGITS make # without make clean run_tests.sh |
|
|
|
|
|
|
#19 |
|
Random Account
Aug 2009
32·7·31 Posts |
The last time I checked, the GPU ceiling for GMP-ECM was something like 2^1018, or similar. I stopped using GMP-ECM 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 GMP-ECM. |
|
|
|
|
|
#20 |
|
Sep 2009
1000000111102 Posts |
I've managed to get ecm gpu using 512 bits working (ecm-gpu.orig contains ecm as downloaded):
Code:
chris@sirius:~$ cp -rp ecm-gpu.orig ecm-gpu.512 chris@sirius:~$ cd ecm-gpu.512/trunk/ chris@sirius:~/ecm-gpu.512/trunk$ vi ecm-gpu.h chris@sirius:~/ecm-gpu.512/trunk$ diff ecm-gpu.h ~/ecm-gpu/trunk/ecm-gpu.h 11c11 < #define ECM_GPU_NB_DIGITS 16 //by default --- > #define ECM_GPU_NB_DIGITS 32 //by default chris@sirius:~/ecm-gpu.512/trunk$ autoreconf -si chris@sirius:~/ecm-gpu.512/trunk$ ./configure --enable-gpu=sm30 chris@sirius:~/ecm-gpu.512/trunk$ make And it's about 3 times faster: Code:
chris@sirius:~/ecm-gpu.512/trunk$ time /home/chris/ecm-gpu.512/trunk/ecm -gpu -save test512.save 25e4 1 <c124 GMP-ECM 7.0.5-dev [configured with GMP 6.1.2, --enable-asm-redc, --enable-gpu, --enable-assert] [ECM] Input number is 2088670024556113224297109395369395183779876369517763563228422726095769254537691675467317948724772159382494596201511204381801 (124 digits) Using B1=250000, B2=1, sigma=3:1464808619-3: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:~/ecm-gpu.512/trunk$ time /home/chris/ecm-gpu/trunk/ecm -gpu -save test1024.save 25e4 1 <c124 GMP-ECM 7.0.5-dev [configured with GMP 6.1.2, --enable-asm-redc, --enable-gpu, --enable-assert] [ECM] Input number is 2088670024556113224297109395369395183779876369517763563228422726095769254537691675467317948724772159382494596201511204381801 (124 digits) Using B1=250000, B2=1, sigma=3:209052271-3: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 |
|
|
|
|
|
#21 |
|
"Seth"
Apr 2019
12316 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 |
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| What size numbers can CudaLucas handle? | robertfrost | GPU Computing | 8 | 2019-01-10 13:14 |
| Why have ECM testing for known non-prime Mersenne numbers? | sd235 | Information & Answers | 12 | 2018-12-06 17:56 |
| Testing my numbers | Vicodin | Information & Answers | 21 | 2017-05-02 05:11 |
| About GNFS and size of smooth numbers | JuanraG | Factoring | 7 | 2014-11-04 16:43 |
| testing big numbers | sagan_fan | Math | 8 | 2002-10-09 21:20 |