mersenneforum.org Tried out aliqueit.exe: ggnfs failing
 Register FAQ Search Today's Posts Mark Forums Read

 2009-06-04, 15:05 #1 Greebley     May 2009 Dedham Massachusetts USA 3×281 Posts Tried out aliqueit.exe: ggnfs failing I discovered the aliqueit.exe program after following links on aliquot sequences. A very nice program. Might be able to help out too by extending some sequences. Ran into one issue mentioned toward end of post. My only snafu is that my version of perl (5.0) was too old. Might want to mention that it needs a more recent one than that. To test I wanted things outside the 'normal range': I started with 1 google which immediately hits the most persistent "driver" of all and plummets to terminate in only 68 steps (does 2^0*1 meet the formal definition of a driver?) Its in the database now. I then ran 1000152, the first sequence outside the 1-1000000 range that has potential. Much of it was already there, but I added to it up to 2196th iteration. At that point, ggnfs seems to run on it but it terminates and no factor seems to be found. Am I doing something wrong or have it set up wrong? I will paste the output below. I put up to 2195 into the database if that helps. using previously found factor 29 c99: running 481 ecm curves at B1=1e6... Msieve v. 1.41 Thu Jun 04 10:28:03 2009 random seeds: bee3f918 b22c12da factoring 612866359018419653283913545567941385719456545986288356312819216189730082882576641503539782906338843 (99 digits ) searching for 15-digit factors commencing number field sieve (99-digit input) commencing number field sieve polynomial selection time limit set to 0.33 hours searching leading coefficients from 1 to 2898 deadline: 10 seconds per coefficient coeff 60-600 64944 84427 84428 109756 lattice 1096 p 49956 84427 84430 142689 lattice 1096 batch 3032 84431 p 29559 49955 142692 241151 lattice 384 batch 1893 49957 save 1.606243e-009 -5.039069 19934.328509 3.272592e-009 save 1.606243e-009 -5.039069 19934.328509 3.272592e-009 save 1.586705e-009 -5.164989 23615.145883 3.245656e-009 save 1.586705e-009 -5.164989 23615.145883 3.245656e-009 save 1.614073e-009 -5.963712 42108.926159 3.261236e-009 save 1.550538e-009 -5.205398 26370.488442 3.198021e-009 save 1.627606e-009 -5.939588 43016.881015 3.265852e-009 save 1.693507e-009 -5.828912 36224.397046 3.359229e-009 save 1.667356e-009 -5.783249 36383.813052 3.303308e-009 save 1.726816e-009 -5.529360 26418.265475 3.407377e-009 save 1.596116e-009 -5.332439 28107.888915 3.210109e-009 save 1.742756e-009 -6.143119 43119.427847 3.400932e-009 deadline: 10 seconds per coefficient coeff 660-1200 71637 93128 93129 121067 lattice 1430 p 71637 93128 93130 121070 lattice 1430 batch 1863 93131 p 42388 71636 121071 204612 lattice 846 batch 2589 71647 save 1.580569e-009 -5.625658 32294.955827 3.215647e-009 save 1.591554e-009 -5.122078 21137.864984 3.232050e-009 save 1.591554e-009 -5.122078 21137.864984 3.232050e-009 save 1.567773e-009 -4.954847 19159.093240 3.214142e-009 save 1.567773e-009 -4.954847 19159.093240 3.214142e-009 save 1.600586e-009 -4.985889 18713.612014 3.269583e-009 save 1.600586e-009 -4.985889 18713.612014 3.269583e-009 p 19293 42387 204616 449546 lattice 296 batch 2186 42391 deadline: 10 seconds per coefficient coeff 1260-1800 75201 97761 97762 127090 lattice 1700 p 75201 97761 97764 127092 lattice 1700 batch 1930 97771 p 44496 75200 127094 214794 lattice 1006 batch 2706 75209 deadline: 10 seconds per coefficient coeff 1860-2400 77689 100995 100996 131294 lattice 1930 p 77689 100000 102002 131295 lattice 1892 batch 1909 110456 p 45969 77688 131297 221893 lattice 1142 batch 2786 77689 save 1.534045e-009 -4.543784 18772.368793 3.177196e-009 save 1.534045e-009 -4.543784 18772.368793 3.177196e-009 save 1.610399e-009 -5.161535 22836.021562 3.262402e-009 save 1.632166e-009 -5.982672 32626.071714 3.252775e-009 save 1.610399e-009 -5.161535 22836.021562 3.262402e-009 save 1.772914e-009 -4.594570 11824.140387 3.448070e-009 save 1.772914e-009 -4.594570 11824.140387 3.448070e-009 save 1.650978e-009 -5.546875 26591.509169 3.298165e-009 save 1.680207e-009 -4.861616 18679.087991 3.365381e-009 save 1.841639e-009 -5.219852 12117.159947 3.523059e-009 save 1.576742e-009 -4.678259 19031.559756 3.234236e-009 save 1.647138e-009 -4.666045 14531.711056 3.336433e-009 save 1.567307e-009 -4.551315 12660.167734 3.219876e-009 save 1.614412e-009 -4.824186 20262.136586 3.264610e-009 save 1.614412e-009 -4.824186 20262.136586 3.264610e-009 save 1.680207e-009 -4.861616 18679.087991 3.365381e-009 save 1.576742e-009 -4.678259 19031.559756 3.234236e-009 save 1.794759e-009 -5.123591 17865.303031 3.512836e-009 save 1.647138e-009 -4.666045 14531.711056 3.336433e-009 save 1.616090e-009 -5.063949 15054.175026 3.276872e-009 save 1.567307e-009 -4.551315 12660.167734 3.219876e-009 save 1.574579e-009 -4.787392 17026.786509 3.256090e-009 save 1.540355e-009 -4.578158 13967.534174 3.196901e-009 save 1.540355e-009 -4.578158 13967.534174 3.196901e-009 deadline: 10 seconds per coefficient coeff 2460-2880 79442 103274 103275 134257 lattice 2084 p 79442 100000 106657 134258 lattice 1954 batch 1719 112210 p 47006 79441 134260 226902 lattice 1233 batch 2800 79451 integrator failed 1.870373e-016 1.813653e-016 integrator failed 1.870373e-016 1.813653e-016 polynomial selection complete R0: -12693016316435177922 R1: 12624079087 A0: -55155820712101931819305 A1: 73131720286124033583 A2: -18974146219940727 A3: 2175575125389 A4: 123362464 A5: 1860 skew 12117.16, size 1.841639e-009, alpha -5.219852, combined = 3.523059e-009 elapsed time 00:08:22 WARNING: gnfs failed to find a factor. This really shouldn't happen. I'll just run ecm till the end of time or a factor turns up... Let's hope you don't run out of disk space before either of those. ^C^C running 0 auto-increasing ecm curves... D:\aliquot\aliqueit107>
2009-06-04, 16:31   #2
10metreh

Nov 2008

2×33×43 Posts

Quote:
 Originally Posted by Greebley To test I wanted things outside the 'normal range': I started with 1 google which immediately hits the most persistent "driver" of all and plummets to terminate in only 68 steps (does 2^0*1 meet the formal definition of a driver?) Its in the database now.
If 2 disappears, the sequence will probably terminate quickly.

Quote:
 I then ran 1000152, the first sequence outside the 1-1000000 range that has potential. Much of it was already there, but I added to it up to 2196th iteration. At that point, ggnfs seems to run on it but it terminates and no factor seems to be found. Am I doing something wrong or have it set up wrong? I will paste the output below. I put up to 2195 into the database if that helps. using previously found factor 29 c99: running 481 ecm curves at B1=1e6...
What exactly happened? What was the failure?

Quote:
 WARNING: gnfs failed to find a factor. This really shouldn't happen. I'll just run ecm till the end of time or a factor turns up... Let's hope you don't run out of disk space before either of those. ^C^C running 0 auto-increasing ecm curves... D:\aliquot\aliqueit107>
Quote:
 My only snafu is that my version of perl (5.0) was too old. Might want to mention that it needs a more recent one than that.
Ah-ha! That's it. factMsieve.pl is known not to work with 5.2 and older. The newest version (5.10 I think) should be fine.

BTW, that poly does not seem too good. I have a C99 in progress with an e value of 4.15e-9. 3.52e-9 is probably quite a bit slower - have a go at setting use_msieve_polyfind = false in aliqueit.ini and see if you come out with something better.

Last fiddled with by 10metreh on 2009-06-04 at 16:34

2009-06-04, 16:51   #3
schickel

"Frank <^>"
Dec 2004
CDP Janesville

2×1,049 Posts

Quote:
 Originally Posted by Greebley I discovered the aliqueit.exe program after following links on aliquot sequences. A very nice program. Might be able to help out too by extending some sequences. Ran into one issue mentioned toward end of post.
Hello and welcome to our little group! Glad you could find us. (Just out of curiosity, how hard was it to find us, and what prompted your search?)
Quote:
 My only snafu is that my version of perl (5.0) was too old. Might want to mention that it needs a more recent one than that.
I suppose a note to the effect that you need a working GGNFS installation could be added to the README file.

As far as your problem goes, everything up to this point in the log looks normal:
Quote:
 Msieve v. 1.41 Thu Jun 04 10:28:03 2009 random seeds: bee3f918 b22c12da factoring 612866359018419653283913545567941385719456545986288356312819216189730082882576641503539782906338843 (99 digits ) searching for 15-digit factors
This indicates that everything appears to operating normally. The program is searching for a polynomial to use for the GNFS run.
Quote:
 polynomial selection complete R0: -12693016316435177922 R1: 12624079087 A0: -55155820712101931819305 A1: 73131720286124033583 A2: -18974146219940727 A3: 2175575125389 A4: 123362464 A5: 1860 skew 12117.16, size 1.841639e-009, alpha -5.219852, combined = 3.523059e-009 elapsed time 00:08:22 WARNING: gnfs failed to find a factor. This really shouldn't happen. I'll just run ecm till the end of time or a factor turns up... Let's hope you don't run out of disk space before either of those. ^C^C running 0 auto-increasing ecm curves... D:\aliquot\aliqueit107>
Having failed at this point, it's hard to tell exactly what happened from this end. A couple of questions: have you completed a GNFS factorization before? Can you try pasting the line after gnfs_cmd = in the aliqueit.ini file?

Again, welcome to the group!

 2009-06-04, 17:58 #4 Greebley     May 2009 Dedham Massachusetts USA 3·281 Posts I found the aliquot sequences interesting mathematically, and was following the links from other aliquot pages and found one to the forum. I pasted the start of a run below so you could see the set up. It has the ggnfs line (and describes a second issue). I have not successfully run ggnfs yet, which is why I think my settings are likely wrong. Is there a command I can give that will call ggnfs on a value known to work? I could test that and see what the result is. These are the files I downloaded: aliqueit107.zip ecm622_win32_intel.zip ggnfs-svn340-win32-p4.zip (do I want the svn360 version?) msieve141_win32.zip yafu-1.10-win32bin.zip I am running vista, my system type is 32-bit Operating System. and the processor is: Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz 2.40 GHz 2 GB of ram. ---------- I also got another problem with yafu (see bottom) D:\aliquot\aliqueit107>aliqueit 232800 Reading config file... ggnfs_clean_cmd = del cols*.* deps*.* factor.easy lpindex*.* rels*.* numFF.txt numrels.txt tmp.job spmat sp-index test.f b matsave matsave.bak test.dat* null_device = nul makedir_cmd = mkdir prefer_yafu = true ecm_cmd = ecm yafu_cmd = yafu msieve_cmd = msieve ggnfs_cmd = c:\perl\perl-5.10.0\perl.exe "d:\aliquot\gnfs\factMsieve.pl" use_msieve_polyfind = true detect_merge = false trial_cutoff = 10000 gnfs_cutoff = 99 hide_output_limit = 60 neat_factor_limit_ecm = 45 neat_factor_limit_pm1 = 45 neat_factor_limit_pp1 = 40 result_file_prefix = alq_ log_file = aliqueit.log save_log = true ecm_tempfile = aliqueit_ecm_temp.log ecm_depth = 45 10, 50 15, 55 20, 60 30, 65 40, 70 60, 73 90, 76 120, 79 150, 82 180, 83 200, 86 300, 90 400, 93 500, 96 600, 99 700, 102 800, 106 900, 110 1000, 114 1100, 118 1200, 122 1300 big_ecm_cutoff = 65 qs_k = 0.448 qs_m = -11.26 gnfs_k = 0.235 gnfs_m = 9.4 b1scale_ecm = 1.0 b2scale_ecm = 1.0 b1scale_pm1 = 1.0 b2scale_pm1 = 1.0 b1scale_pp1 = 1.0 b2scale_pp1 = 1.0 Precalcing primes for trial factoring... seq = 232800 index = 0 value = 232800 (6 digits) ... 460 . c22 = 1522608819208455890462 = 2 * 1979 * 32957 * 2608559 * 4474703 461 . c21 = 762529205502959354338 = 2 * 29 * 15959 * 823801946694179 WARNING: factor doesn't divide n WARNING: factor doesn't divide n ...... WARNING: factor doesn't divide n ^C9: running qs (yafu)... The screen spammed the warning alternating the 'running qs (yafu)' message seemingly forever.
2009-06-04, 18:30   #5
schickel

"Frank <^>"
Dec 2004
CDP Janesville

2×1,049 Posts

Quote:
 Originally Posted by Greebley I found the aliquot sequences interesting mathematically, and was following the links from other aliquot pages and found one to the forum.
Glad you could find us. I've thought to myself a couple of times that I should add a link to the wikipedia article.....keep forgetting, though.
Quote:
 I pasted the start of a run below so you could see the set up. It has the ggnfs line (and describes a second issue). Code: D:\aliquot\aliqueit107>aliqueit 232800 Reading config file... ggnfs_clean_cmd = del cols*.* deps*.* factor.easy lpindex*.* rels*.* numFF.txt numrels.txt tmp.job spmat sp-index test.fb matsave matsave.bak test.dat*
So far, so good.
Code:
ggnfs_cmd = c:\perl\perl-5.10.0\perl.exe "d:\aliquot\gnfs\factMsieve.pl"
This may be where your problem is. A couple of things to check:

- Is the path to your perl.exe correct?

- Did you set the paths in factMsieve.pl also? The ones to be concerned with are $GGNFS_BIN_PATH= this should point to the folder where the GGNFS binaries are located and$SYS_BIN_PATH= this should point to where "cat.exe" and "zip.exe" reside.
Quote:
 value = 232800 (6 digits) ... 460 . c22 = 1522608819208455890462 = 2 * 1979 * 32957 * 2608559 * 4474703 461 . c21 = 762529205502959354338 = 2 * 29 * 15959 * 823801946694179 WARNING: factor doesn't divide n WARNING: factor doesn't divide n ...... WARNING: factor doesn't divide n ^C9: running qs (yafu)... The screen spammed the warning alternating the 'running qs (yafu)' message seemingly forever.
This may be a problem that has cropped up a couple of times. there are some snall numbers which will fail to be factored by one or the other of msieve or yafu. If that happens, it gets caught in a loop, since it never recieves the factors of the number. the WARNING: factor doesn't divide n results from the continued perusal of the log file and trying to divide out the leading factors again; once they're divided out, they can't be divided out again. One way to kick start it is to factor the number externally, then feed the largest factor in by starting aliqueit this way:
Code:
aliqueit <seq> -e -f <factor>
This tells it to start the sequence, skip the ECM portion, and use the factor passed in on the command line.

If msieve or yafu fails, it should fall over to the other. Are the paths to both in aliqueit.ini set correctly?

2009-06-04, 18:49   #6
schickel

"Frank <^>"
Dec 2004
CDP Janesville

40628 Posts

Quote:
 Originally Posted by Greebley I have not successfully run ggnfs yet, which is why I think my settings are likely wrong. Is there a command I can give that will call ggnfs on a value known to work? I could test that and see what the result is. These are the files I downloaded: aliqueit107.zip ecm622_win32_intel.zip ggnfs-svn340-win32-p4.zip (do I want the svn360 version?) msieve141_win32.zip yafu-1.10-win32bin.zip
I probably should have handled this and the previous message in the other order.....oh well.

You've got everything you need to bring terror to the heart of aliquot sequences everywhere. Just a couple of things to make sure you have everything laid out properly. If aliqueit is humming along mostly happy, you have the ECM executable in the right place, most likely. The next thing to check is yafu and msieve. Did you put a copy of both in the aliqueit folder? Also, as indicated in the previous post, did you change the paths in factmsieve.pl? (Actually, if it started the factorization, you don't have to worry, the path to perl.exe is set properly.) Starting the process and then failing is most likely an indication that it can't find the binaries for the GNFS portion.

Try this, create a file called test.n with this line in it (don't worry, we're not going to let it try to factor this):
Code:
n: 78541005650722049653086072205420438110929719018560861960885801681433105948145094453468591465656683293302279256523
Then, from the aliqueit directory, try calling the factmsieve script this way:
Code:
perl factmsieve.pl test
If it compalins about not finding the binaries, check the $GGNFS_BIN_PATH= line in factmsieve.pl.  2009-06-04, 19:15 #7 henryzz Just call me Henry "David" Sep 2007 Cambridge (GMT/BST) 22·1,433 Posts he has already said frank that he only has perl 5.0 factmsieve.pl needs 5.2 to run correctly i expect what he is experiencing is what happens with a too early version of perl 2009-06-04, 19:46 #8 mklasson Feb 2004 2×3×43 Posts Quote:  Originally Posted by Greebley skew 12117.16, size 1.841639e-009, alpha -5.219852, combined = 3.523059e-009 elapsed time 00:08:22 ggnfs output should be here WARNING: gnfs failed to find a factor. This really shouldn't happen. I'll just run ecm till the end of time or a factor turns up... Let's hope you don't run out of disk space before either of those. ^C^C running 0 auto-increasing ecm curves... D:\aliquot\aliqueit107> It doesn't seem as if ggnfs ever starts. If it did, you would probably get _some_ output from it at the indicated position. At least an error msg or two. My guess is your perl.exe path is wrong. Hopefully you've already solved the problem with the other guys' help. Quote:  Originally Posted by schickel This may be a problem that has cropped up a couple of times. there are some snall numbers which will fail to be factored by one or the other of msieve or yafu. If that happens, it gets caught in a loop, since it never recieves the factors of the number. That's a good reason for keeping both yafu and msieve available. If one accidentally fails the other will most likely crack it without problem. The endless looping should only happen if both fail (but see below). Quote:  Originally Posted by schickel the WARNING: factor doesn't divide n results from the continued perusal of the log file and trying to divide out the leading factors again; once they're divided out, they can't be divided out again. Unless I've forgotten how it works that specific reason is only applicable when you first start aliqueit, and not in the middle of a run. In this case I would guess yafu reports an invalid factor (see http://www.mersenneforum.org/showpos...&postcount=177), which fools aliqueit into thinking everything went ok and never giving msieve a chance to factor the number instead. The factor is then removed from n (or, as it was wrong, discarded and the warning msg printed), and yafu is run on the remaining composite (which in this case is the original number). So the same thing happens again and endless looping ensues. I should fix aliqueit to give the other qs program a go if a faulty factor was found...  2009-06-04, 19:49 #9 Greebley May 2009 Dedham Massachusetts USA 3×281 Posts I created a aliqueit/bin directory, put that into my path and then copied ecm-.exe to ecm.exe in the bin. This seems to work as it runs ecm and yafu. Not sure if I have tried msieve yet, but msieve.exe is in the bin directory as well. For perl it was definitely messed up. I installed strawberry perl 5.10 instead and changed the path in factMseive.pl. This is working much better. However as show below it is having problems with cat.exe. I do have a cat.exe (and other unix tidbits) in c:\bin D:\aliquot\ggnfs>perl factMsieve.pl test.n -> ___________________________________________________________ -> | This is the factMsieve.pl script for GGNFS. | -> | This program is copyright 2004, Chris Monico, and subject| -> | to the terms of the GNU General Public License version 2.| -> |__________________________________________________________| -> This is client 1 of 1 -> Using 1 threads -> Working with NAME=test... -> Error: Polynomial file test.poly does not exist! -> Found n=7854100565072204965308607220542043811092971901856086196088580168143310594814509445346859146565668329330227925 6523. -> Attempting to run polyselect... -> Selected default polsel parameters for 113 digit level. -> Selected default factorization parameters for 112 digit level. -> Selected lattice siever: d:/aliquot/ggnfs/gnfs-lasieve4I13e.exe -> Searching leading coefficients from 1 to 1000. => "d:/aliquot/ggnfs/pol51m0b.exe" -b test.polsel.Falcon.4100 -v -v -p 4 -n 7.90E+016 -a 0 -A 1 > test.polsel.Falcon.41 00.log -> ===================================================== -> Best score so far: 0.000000e+000 (goodScore=5.310000e-010) -> ===================================================== -> Searching leading coefficients from 1001 to 2000. => "d:/aliquot/ggnfs/pol51m0b.exe" -b test.polsel.Falcon.4100 -v -v -p 4 -n 7.90E+016 -a 1 -A 2 > test.polsel.Falcon.41 00.log => "d:/aliquot/ggnfs/pol51opt.exe" -b test.polsel.Falcon.4100 -v -v -n 2.90E+015 -N 2.43E+013 -e 5.31E-010 > test.polse l.Falcon.4100.log '"/cat.exe"' is not recognized as an internal or external command, operable program or batch file. '"/cat.exe"' is not recognized as an internal or external command, operable program or batch file. -> ===================================================== -> Best score so far: 0.000000e+000 (goodScore=5.310000e-010) -> ===================================================== -> Searching leading coefficients from 2001 to 3000. => "d:/aliquot/ggnfs/pol51m0b.exe" -b test.polsel.Falcon.4100 -v -v -p 4 -n 7.90E+016 -a 2 -A 3 > test.polsel.Falcon.41 00.log => "d:/aliquot/ggnfs/pol51opt.exe" -b test.polsel.Falcon.4100 -v -v -n 2.90E+015 -N 2.43E+013 -e 5.31E-010 > test.polse l.Falcon.4100.log 2009-06-04, 22:20 #10 schickel "Frank <^>" Dec 2004 CDP Janesville 40628 Posts Quote:  Originally Posted by Greebley I created a aliqueit/bin directory, put that into my path and then copied ecm-.exe to ecm.exe in the bin. This seems to work as it runs ecm and yafu. Not sure if I have tried msieve yet, but msieve.exe is in the bin directory as well. For perl it was definitely messed up. I installed strawberry perl 5.10 instead and changed the path in factMseive.pl. This is working much better. Great, we're almost there. Quote:  However as show below it is having problems with cat.exe. I do have a cat.exe (and other unix tidbits) in c:\bin That's the problem, then. The location of cat.exe is set with the variable$SYS_BIN_PATH=, rather than the first one. (You'll find it just after the 3 "use" lines....) Set that to ":/bin" and try again.

 2009-06-05, 19:34 #11 Greebley     May 2009 Dedham Massachusetts USA 3×281 Posts I had to do one final thing and that was copy over the more recent msieve.exe into the ggnfs directory - the one that came with ggnfs was old. Once I did that it successfully factored using the general number field seive. So to summarize, in order to get ggnfs working I needed to: 1) Make sure I had a recent (past 5.2) version of perl 2) Change the aliqueit.ini file entry for ggnfs_cmd to point to ggnfs's factMSieve. 3) Update factMSieve.pl ggnfs_bin_path (top) 4) Make sure I had cat.exe. 5) Update factMSieve.pl sys_bin_path (further down) 6) For the 340 version of ggnfs (not sure about 360), I needed to copy over a later version of mSeive into the ggnfs_bin_path directory. I think that was it. Might be worth adding to web page or docs of aliqueit. Last fiddled with by henryzz on 2009-09-19 at 07:53 Reason: typo replaced ggfns with ggnfs

 Similar Threads Thread Thread Starter Forum Replies Last Post bsquared Aliquot Sequences 591 2020-09-09 16:51 ATH Programming 4 2017-06-08 22:22 EdH Msieve 14 2016-09-05 21:52 zenzu88 Software 2 2012-04-10 15:16 jugbugs Hardware 12 2004-03-25 02:37

All times are UTC. The time now is 08:51.

Sun Oct 25 08:51:07 UTC 2020 up 45 days, 6:02, 0 users, load averages: 1.51, 1.57, 1.56