mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2009-03-29, 18:08   #12
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

22258 Posts
Default

Quote:
Originally Posted by fivemack View Post
The large-prime bound is the major influence on the number of relations needed. At a given large-prime bound, larger numbers tend to need more relations, but this is a much less substantial effect.
With all the SNFS experience you have, would it be possible for you to post your ggnfs "def-par.txt" file for those of us without as much experience can at least have some decent parameters to start from?

Jeff.
Jeff Gilchrist is offline   Reply With Quote
Old 2009-03-29, 20:24   #13
fivemack
(loop (#_fork))
 
fivemack's Avatar
 
Feb 2006
Cambridge, England

2·7·461 Posts
Default

I don't have a def-par.txt file, nor do I use the ggnfs scripts for large numbers. I have a couple of perl scripts, but they tend to have comments like 'now put the polynomial into count.gp and copy the results into this array'; not very fire-and-forget.

I start by picking the large-prime bound: I then try various small-prime bounds, and one or two sievers, and do test sieving over small ranges, estimate from those how long the job would take to get enough relations given the large-prime bound, and pick the small-prime bound and siever that gives the quickest runtime. I don't think you can avoid doing something at least that fiddly if you're working outside the bounds of experience.

A rule of thumb which seems reasonable at least up to 140 digits is to pick the small-prime bound such that you can expect to get all your relations by sieving from spb/2 up to spb; small Q are at least slightly higher-yielding than large Q.

However, I'll post a few example points - I've tended to do individual very-large jobs, I don't have a statistically significant collection of jobs above 130 digits.

GNFS 120-130 digits: 27-bit large primes, siever 13e, small primes 6000000 works quite well for me towards the top end of the range, small primes 4000000 works OK towards the lower end.

GNFS, 138 digits: probably 28-bit large primes, 13e and 14e pretty comparable, small prime 10 million works for me

By 150 digits you'll want 29-bit large primes and siever 14e, small prime bound 20 million seems reasonable. Don't change over too early; 28-bit LP was faster than 29-bit LP at the 144-digit point.

I'm currently doing a 159-digit GNFS with 29-bit large primes and siever 15e, small prime bound 50 million.

SNFS

difficulty 180-ish: 28-bit large primes are better than 27-bit; siever 13e; small prime bound around 10 million

crossover 28-29 is somewhere around 200; 30 is too big at difficulty 200.

SNFS 210-240: 30-bit large primes, siever 14e, small prime bound somewhere around 30 million

SNFS 240-270: 31-bit large primes, siever 15e, small prime bound around 100 million for larger numbers

Not much above SNFS 270, you'll want to switch to siever 16e; but the current version of this horribly over-estimates the memory usage (wants ~3.5G per process), and fixing that will be a serious development effort.

Last fiddled with by fivemack on 2009-03-29 at 20:39
fivemack is offline   Reply With Quote
Old 2009-03-31, 03:40   #14
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

89×113 Posts
Default

I have added a small patch to the factMsieve.pl in the GGNFS repository. It is based on personal experience as well as collective experience of near-rep-unit participants (which was model-fitted by M.Kamada).
The ten lines of perl code should extend def-par.txt virtually.

Now that I've read Tom's comments, I am very glad that the perl hack agrees very much with his ideas. The SVN version is 344.
Batalov is offline   Reply With Quote
Old 2009-03-31, 14:09   #15
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

3×17×23 Posts
Default

Quote:
Originally Posted by Batalov View Post
I have added a small patch to the factMsieve.pl in the GGNFS repository. It is based on personal experience as well as collective experience of near-rep-unit participants (which was model-fitted by M.Kamada).
The ten lines of perl code should extend def-par.txt virtually.
The new feature is very nice, automatically selected parameters for an SNFS difficulty 202 number with the default def-par.txt distributed with ggnfs so this is a great feature for newbies!

You can download the latest factMsieve.pl here:
http://ggnfs.svn.sourceforge.net/vie.../factMsieve.pl
Jeff Gilchrist is offline   Reply With Quote
Old 2009-03-31, 17:16   #16
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

235118 Posts
Default

Here is a reference to M.Kamada's statistics:
http://homepage2.nifty.com/m_kamada/...ions.htm#howto
(the five graphs).
The first thing for everyone to consider (regardless of parameters) is how much time one is willing to spend. See the first graph - expected time in CPU hours. If you don't have a 1000 CPU-hours for a complete job, then please do not consider going above 205-210 digits snfs (145 digits gnfs).

The perl script will do better than before, but do keep in mind that there are certain factorizations that would still benefit from careful manual .poly file crafting (see Tom's message above for guidance); here's a short list that is not meant to be complete:
1. Quartics for larger numbers (when quartic is necessary): at the very least, switch the side to -a and ponder uneven limits,
2. Sextics (converted quartics) for numbers with difficulty ~160-190, same as #1, but lopsided to the other side.
3. All numbers above, say 200-210: test-sieving (deciding quintic vs. sextic, fine-tuning the limits, lambdas), custom scripts (that would avoid idle CPUs and not even try to filter before a certain number of relations), etc, etc...

The script should behave better under 200-210.
Batalov is offline   Reply With Quote
Old 2009-04-01, 06:29   #17
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

1005710 Posts
Default "MINRELS.txt" file

Yet another hack: adding a file to the working directory called "MINRELS.txt". You can create/edit it while the perl script is already running. The script will read it before every filtering stage, so if you have got a good idea how many relations msieve's filtering "wants" - put that number in that file. If you later get a better idea - edit it!

You will save a ton of time from needless filtering; it also allows you to deliberately oversieve (for a smaller matrix).

You need the 345 version of the
http://ggnfs.svn.sourceforge.net/vie.../factMsieve.pl
Batalov is offline   Reply With Quote
Old 2009-04-01, 16:41   #18
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

3×17×23 Posts
Default

Quote:
Originally Posted by Batalov View Post
Yet another hack: adding a file to the working directory called "MINRELS.txt". You can create/edit it while the perl script is already running. The script will read it before every filtering stage, so if you have got a good idea how many relations msieve's filtering "wants" - put that number in that file. If you later get a better idea - edit it!
That is cool, I have been adding my own change to the built-in estimate in the perl script, for C133-C135 gnfs jobs, I multiply by 2.5 and get almost an exact amount but that means I have to remember to change it before I run the script, etc...

This way is much better because I can tweak things on the fly and not have to worry about editing the script itself. Good job!
Jeff Gilchrist is offline   Reply With Quote
Old 2009-04-04, 16:32   #19
Andi47
 
Andi47's Avatar
 
Oct 2004
Austria

9B216 Posts
Question BEEP!

Quote:
Originally Posted by Batalov View Post
I have added a small patch to the factMsieve.pl in the GGNFS repository. It is based on personal experience as well as collective experience of near-rep-unit participants (which was model-fitted by M.Kamada).
The ten lines of perl code should extend def-par.txt virtually.

Now that I've read Tom's comments, I am very glad that the perl hack agrees very much with his ideas. The SVN version is 344.
I just recognized that the new FactMsieve.pl script beeps 5 time when it writes the time scale file - this would be quite annoying if that happens at night. How can I switch the beeps off? (I am not very familiar with perl)
Andi47 is offline   Reply With Quote
Old 2009-04-04, 16:56   #20
smh
 
smh's Avatar
 
"Sander"
Oct 2002
52.345322,5.52471

29·41 Posts
Default

Quote:
Originally Posted by Andi47 View Post
I just recognized that the new FactMsieve.pl script beeps 5 time when it writes the time scale file - this would be quite annoying if that happens at night. How can I switch the beeps off? (I am not very familiar with perl)
Change the last line of the script to:
Code:
# for($i = 0; $i < 5; $i++){sleep 1;print "\a";}
smh is offline   Reply With Quote
Old 2009-04-04, 17:02   #21
10metreh
 
10metreh's Avatar
 
Nov 2008

44228 Posts
Default

Quote:
Originally Posted by Andi47 View Post
I just recognized that the new FactMsieve.pl script beeps 5 time when it writes the time scale file - this would be quite annoying if that happens at night. How can I switch the beeps off? (I am not very familiar with perl)
I would guess those beeps are there to alert you trhat the factorization has finished. It was quite useful when I had a job that took 4 dependencies and I was not in the room as I usually am.
10metreh is offline   Reply With Quote
Old 2009-04-04, 18:59   #22
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

89·113 Posts
Default

Quote:
Originally Posted by Andi47 View Post
I just recognized that the new FactMsieve.pl script beeps 5 time when it writes the time scale file - this would be quite annoying if that happens at night. How can I switch the beeps off? (I am not very familiar with perl)
Oh, it's not new; it was always there, and in factLat.pl as well (it's inheretied from factLat.pl). The answer is above and it's correct. It's "after" not "when", so it can surely be removed.

There's a lot of interesting "decorations" there, in the end of the script, including calling procrels (and only to gauge the speed of the computer; if it fails - never mind); the dmesg calls (btw, they also fail sometimes, not working as expected after the computer had been up for a while -- the kernel ring buffer messages about the bogomips and CPUs get "ring"ed out.)
Batalov is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
P-1 B2 time estimates henryzz GMP-ECM 8 2009-12-31 17:51
c97 GNFS not possible? Andi47 Msieve 5 2009-01-26 18:19
Chebyshev's Estimates brownkenny Math 2 2009-01-22 17:21
Msieve QS estimates henryzz Msieve 27 2009-01-21 18:37
Accuracy of completion date estimates? kdq Software 4 2008-10-04 05:02

All times are UTC. The time now is 10:52.


Sun Feb 5 10:52:10 UTC 2023 up 171 days, 8:20, 1 user, load averages: 0.62, 0.69, 0.69

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔