20070407, 20:23  #1 
Oct 2004
Austria
2·17·73 Posts 
Feature Request!!! Save after p1 Step 1
This happened after a p1 attempt with:
ecm v resume 5_3_257+_pm1_1e9.sav save 5_3_257+_pm1_10e9.sav maxmem 2500 10e9 >5_3_257+_pm1_10e9.out Code:
GMPECM 6.1.1 [powered by GMP 4.2.1] [ECM] Resuming P1 residue saved by Andreas@ANDREAS with GMPECM 6.1.1 on Sat Apr 07 12:40:48 2007 Input number is 175619522044094444730646441116709020054232412086062437698861604586816985151966452610210857901106313441605170982007750547 (120 digits) Using mpz_powm Using B1=100000000010000000000, B2=141006540815893193115816, polynomial x^120 dF=524288, k=5, d=5705700, d2=17, i0=231 Step 1 took 10567515ms Using 28 small primes for NTT Estimated memory usage: 2102M Initializing table of differences for F took 1141ms Computing roots of F took 66844ms Building F from its roots took 167125ms Computing 1/F took 109921ms Initializing table of differences for G took 1468ms Computing roots of G took 53750ms Code:
This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information Last fiddled with by Andi47 on 20070407 at 20:24 Reason: Typo 
20070408, 00:33  #2  
"Jason Goatcher"
Mar 2005
3·7·167 Posts 
Quote:
I think it would be great if any curve that takes more than an hour could have a setable save feature. 

20070408, 07:04  #3  
Oct 2004
Austria
2×17×73 Posts 
Quote:


20070411, 16:21  #4 
"Nancy"
Aug 2002
Alexandria
4643_{8} Posts 
I fully agree that this feature is missing. Only problem is that in order to put the feature in, we'll have to rearrange some code  the ECM computations are part of the library, whereas the savefile I/O are part of the application. We'll either have to move the savefile I/O into the library, where it doesn't belong imho, or add some kind of callback interface. It'll happen eventually...
Alex 
20070411, 18:06  #5  
Oct 2004
Austria
2482_{10} Posts 
Quote:
Last fiddled with by Andi47 on 20070411 at 18:07 

20070412, 09:29  #6 
"Nancy"
Aug 2002
Alexandria
2,467 Posts 
You can always do stage 1 in smaller pieces. I.e. go to B1=5e10 and save, resume that and to to B1=1e11 and save, resume that, etc...
There might be an interim save feature for stage 2 some day, but the working data set is very large. Then again, the treefile option saves most of that intermediate data already, so saving the rest at periodic intervals (say, after each block) shouldn't be too much worse. As a workaround, you can do stage 2 in steps as well, using the B2minB2max options, i.e. ecm resume savefile.1e10 1e10 1e101e14 ecm resume savefile.1e10 1e10 1e142e14 ecm resume savefile.1e10 1e10 2e143e14 ... adding the (currently broken, sorry!) maxmem or (functioning, yay!) k parameters as necessary to get the polynomial degree and hence memory use you want. Alex 
20070412, 10:14  #7  
Oct 2004
Austria
2·17·73 Posts 
Quote:
I did not know, that this is also possible for stage 2, thanks for pointing out. Questions: When I do like you said (i.e. entering B2 ranges of 1e101e14, 1e142e14, etc.), does it save the results of B2, so that I can continue for example at 2e14, or  if not  how does this work? (example: If the second largest factor of p1 is 9e9 and the biggest is 2.5e14, the factor is found when doing b2=2e14 3e14, but not with 1e142e14 or 3e144e14 in your example, am I right?) 

20070412, 11:04  #8 
"Nancy"
Aug 2002
Alexandria
2,467 Posts 
It does not save the highest B2 value tried so far anywhere, you'll have to specify the B2 range you want to do manually each time.
Where exactly the factor p with largest factor in p1 around 2.5e14 will be found is hard to tell, due to the BrentSuyama extension. With power 2, it will be as you suggested. However, if the B2 value is much higher than 2.5e14, it might be included as a composite value, i.e. if q*2.5e14 is in your B2minB2max range for some q that does not divide d1*d2. With BrentSuyama, all bets are off... the missing prime in p1 might be included pretty much at any time during stage 2, if you're lucky. But it is still true that if the missing prime is in B2minB2max, it will be included in any case, and the factor will be found. Alex Last fiddled with by akruppa on 20070412 at 11:05 
20070412, 11:12  #9 
Oct 2004
Austria
2·17·73 Posts 
Thanks.
So  do I understand right, that  if I have got enough RAM or specify maxmem smaller half of available RAM  I could also do parallelized Stage 2  i.e. one CPU does B2 = 1e142e14 and the other does B2 = 2e143e14 at the same time ? Last fiddled with by Andi47 on 20070412 at 11:12 
20070412, 11:40  #10 
"Nancy"
Aug 2002
Alexandria
2,467 Posts 
You could, but stage 2 gets more efficient as the degree dF of the polynomial increases. A better way of scheduling work would be to let one cpu do stage 1 on another number which uses almost no memory, and let the other cpu do stage 2 and give it all the memory your machine has.
Alex 
Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Feature request  tcharron  Software  3  20181003 20:08 
Feature request  JuanTutors  Software  22  20130311 19:23 
Feature Request  Uncwilly  Software  0  20080306 21:07 
Feature Request: Power save option  drew  Software  7  20070424 13:12 
Feature Request  moo  Software  24  20051126 22:08 