![]() |
[QUOTE=henryzz;121053]i am using factlat.pl which uses pol51m0b[/QUOTE]
[code] if (length($N)<98) { $USE_KLEINJUNG_FRANKE_PS=0; } $psTime=time; if ($USE_KLEINJUNG_FRANKE_PS) { runPol5; } else { runPolyselect; } [/code] |
thanks i will try that now
|
[QUOTE=jbristow;119193][code]N 21794540430563178925786277073735013833408459289340429954014220820936319062595028718005767254056951658089778749214084436566370814330793743233518175202183
R0 -129934811447123020117172145698449 R1 1350851717672992089 A0 3 A1 0 A2 0 A3 0 A4 0 A5 7 FRMAX 4500000 FAMAX 4500000 SRLPMAX 134217728 SALPMAX 134217728 SRTFBITS 52 SATFBITS 52[/code][/QUOTE] Just curios: What was the source of this number? Edit: Just found out - it was 7^191+3^191 |
[QUOTE=jasonp;154913]There's nothing wrong with the polynomial chosen, sometimes a polynomial has excellent size properties but only moderately good root properties. What matters is how well both work together.
The problem is that this polynomial wants a sieving region skewed by a factor of about 30000, meaning the 'a' values in relations average 30k times larger than the 'b' values. It also means that the polynomial will generate a huge number of relations as long as 'b' is very small, but will stop doing so once 'b' starts to get larger. The line sieve in msieve has no idea that this is happening. Luigi, while I appreciate the vote of confidence, there is no substitute for the lattice siever in GGNFS. Using it would make the difference between taking forever and being done very quickly.[/QUOTE] Thank you for your answer, Jason. It seems that I'll have to study HOW-TO install and run GGNFS on my linux64 box after all... :-) Keeping the post-sieving section on msieve. If someone has a pointer, I'll check it during Christmas holidays... :smile: Luigi |
[quote=ET_;154914]Thank you for your answer, Jason. It seems that I'll have to study HOW-TO install and run GGNFS on my linux64 box after all... :-)[/quote]
Have you used GGNFS on another OS before? |
[QUOTE=10metreh;154921]Have you used GGNFS on another OS before?[/QUOTE]
Never. But I have Windows XP boxes (boxen?) as well, if the installation procedeure is easier. Luigi |
1 Attachment(s)
There are precompiled versions for the P4 and Athlon [URL="http://sourceforge.net/projects/ggnfs/"]here[/URL]. To make your factoring easier, here is factLat.pl with a .txt extension. You will need to install Perl, resave the file as just "factLat.pl" (no .txt) and edit the path in line 3 to the path of the folder where you put the binaries.
You put the poly from msieve in a file called "<name>.poly" where <name> is anything you want. Change the R's to Y's and the A's to c's. Put colons at the end of R0, R1 etc. Change N to n:, make sure you have a line "skew: xxx" where xxx is the skew and include the line "type: gnfs". Then execute "factLat.pl <name>" where <name> is the name of the poly file. It does everything in order: Lattice siever Relation processor Matrix builder, which checks if there are enough relations Lattice siever etc. This pattern is broken when there are enough relations. At that point, close the command prompt if you want to use msieve for postprocessing. Now, so I can post two attachments, I will move onto my next post. There are lots of details in the threads "Running GGNFS" and "New GGNFS problem", both in Factoring. |
1 Attachment(s)
Make sure you have msieve in the same folder as ggnfs. Do the same thing with nfs2ms.pl (attached) as you did with factLat.pl, but do not edit the paths. Then execute "nfs2ms.pl". This will pack all the relations into one file then use msieve for the postprocessing.
Good luck, and check the two threads I mentioned if you have problems. If you cannot find your problem, post to "New GGNFS problem". |
[QUOTE=10metreh;154929]Make sure you have msieve in the same folder as ggnfs. Do the same thing with nfs2ms.pl (attached) as you did with factLat.pl, but do not edit the paths. Then execute "nfs2ms.pl". This will pack all the relations into one file then use msieve for the postprocessing.
Good luck, and check the two threads I mentioned if you have problems. If you cannot find your problem, post to "New GGNFS problem".[/QUOTE] Thank you very much for your help! :bow: Now I have a good starting point to work on. One last question: should the PC stay on all the time during sieving, or there are automatic checkpoints for restart? Luigi |
[quote=ET_;154934]Thank you very much for your help! :bow:
Now I have a good starting point to work on. One last question: should the PC stay on all the time during sieving, or there are automatic checkpoints for restart? Luigi[/quote] The lattice siever gives the output "total yield: xxxxx, q=xxxxxx" or something similar. q goes gradually upwards. For the 104-digit level, the siever sieves q-values in batches of 100000. After that it runs procrels and matbuild. There is a file called "xxx.job" where xxx is the name of the poly. This has values q0 (the starting value of q), qintsize (100000 in this case) and q1 (the finishing value of q, q0+100000 in this case) in it. Every time matbuild finishes, the old q1 becomes the new q0 and a new q1 is calculated (the new q0+100000 in this case). This appears as "MakeJobFile(): q0=xxxxxx, q1=yyyyyy" on the screen. This is where you can close down. Restarting will now use the new values of q0 and q1 from the .job file. |
1 Attachment(s)
[QUOTE=ET_;154934]Thank you very much for your help! :bow:
Now I have a good starting point to work on. One last question: should the PC stay on all the time during sieving, or there are automatic checkpoints for restart? Luigi[/QUOTE] You can find some instructions, also what to do when the computer crashes or is restarted for some reason, in [URL="http://www.mersenneforum.org/showthread.php?t=9772"]this thread[/URL]. The input file for GGNFS should look like this, given as a textfile, for example named yournumber.poly (example given for a c165 number, you need to change the parameters for smaller numbers, see below): [code]n: 230380135646168002240144238096238189782429580465812519176892278271650463794969643225877877269156894108094881082195219664775471894182470295616143804362949333632033489 skew: 210886.76 c5 11472718320 c4 -3795305047120954 c3 -2612363701552248486716 c2 107677876784557388243547221 c1 33277562211750204806364306268284 c0 547440910672314203689898814059115360 Y1 2391424041494417171 Y0 -7253635851193924156735160443739 rlim: 50000000 alim: 50000000 lpbr: 31 lpba: 31 rlambda: 2.6 alambda: 2.6 mfbr: 62 mfba: 62[/code] do the sieving with this input in your dos window: [code]gnfs-lasieve-4I1<2,3,4,5>e -a <input file.poly> -o <output file> -f <start of sieving range> -c <length of sieving range>[/code] use gnfs-lasieve-4I12e for numbers from ~c100 to ~c115(?) use gnfs-lasieve-4I13e for numbers from ~c115(?) to ~c130 (the crossover is somewhere between c125 and c130) use gnfs-lasieve-4I14e for numbers from ~c130 to ~c160 use gnfs-lasieve-4I15e for numbers >~c160 Hint: Start your range to sieve at the alim value. You may want to sieve a part of your range somewhat below the alim value - in this case you have to lower the alim value to the start of your range. (only for the range below alim - that means you can sieve any range above the original alim using the original alim.) The Y0 and Y1 values are the R0 and R1 values given in the poly found by msieve; c0 .... c5 are the a0 ... a5 values given by the poly found by msieve. A skew is also given by msieve; dont forget to set a colon after the word skew. GGNFS won't accept a line like "skew 210886.76", but it will accept "skew[b]:[/b] 210886.76" rlim, alim, lpbr, lpba, rlambda, alambda, mfbr and mfba have to be specified dependent on the size of your composite. You can set these values manually by editing your input file. I have made up an excel file, which is derived from the factlat.pl script, from various posts here in the forum and from some of my factorizations, which give quite good parameters (rlim, alim, mfbr, mfba, rlambda, alambda, lpbr, lpba) for numbers in a range from ~ c100 to ~c180 - this file is attatched to this posting. Hint: You may want to do a test sieving with a range length of ~5000 (specify -c 5000) to get an idea how many relations you get per range length. This will take only a couple of minutes. Hint 2: It is easy to parallelize sieving: Just split your sieving ranges into a number of subranges and distribute them between your computers. After collecting an appropriate number of relations, you need to convert your files back to msieve format. ([B]Feature request for msieve: Please make it read GGNFS outputs, and make up an option to output polynomials in GGNFS format![/B]): 1.) Make up a file named "worktodo.ini" which contains the number you want to factor. 2.) make up a file named "msieve.fb", which should look like this: [code]N 230380135646168002240144238096238189782429580465812519176892278271650463794969643225877877269156894108094881082195219664775471894182470295616143804362949333632033489 R0 -7253635851193924156735160443739 R1 2391424041494417171 A0 547440910672314203689898814059115360 A1 33277562211750204806364306268284 A2 107677876784557388243547221 A3 -2612363701552248486716 A4 -3795305047120954 A5 11472718320 [/code] (N is the number you want to factor, R0, R1, A0 ... A5 is the polynomial - you can use the format of the output of msieve's polynomial search.) 3.) you need to merge the files which contain the relations. The first line of the merged file should contain the number in the form [code]N <your number>[/code] (I am not sure if msieve really needs this line - Jasonp??) In windows (Dos window) you can do this by: 3a) create a new folder and copy all your relations files (but nothing else) into this folder. 3b) In the new relations folder create a file which's name begins with _0 (to make shure that it is copied first) which contains "N <your number>" 3c) In the Dos window type: [code]copy *.* msieve.dat[/code] 4) Move the files named msieve.dat, worktodo.ini and msieve.ini to your msieve folder 5) in the dos window change to your msieve folder and type: [code]msieve -p -v -nc -t <number of processors available in your machine>[/code] -p will make msieve run in idle mode (you need not wait ages for e.g. a wordfile to open). -v is verbose mode, meaning that you will see in the dos window what msieve is currently doing. -nc is the command for "do GNFS postprocessing" -t <number of threads> does multithreaded postprocessing; specify as many threads as you have processors available in your machine. If postprocessing is successful, the factors will show up both in the dos window and in your msieve.log file. It may occur that you have not sieved enough relations. In this case you will find a line like "filtering wants xxx more relations" near the end of the dos window output and the msieve file. In this case, continue with GGNFS sieving until you have collected enough relations, and then start with postprocessing again. Some estimations how long sieving will take on a core2duo @2.00 GHz: c100 - a few hours c107 - ~7-8 hours c114 - ~2 days c125 - ~3 days c130 - ~5 days (c131 - 10 days with a poor polynomial) c136 - ~8 days (with a poly found by msieve) c165 - ~8 months c180 - ~5 years c200 - AFIK that's not yet tested by anyone |
| All times are UTC. The time now is 08:15. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.