mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2008-10-20, 13:31   #12
alpertron
 
alpertron's Avatar
 
Aug 2002
Buenos Aires, Argentina

2·32·83 Posts
Default

An easy change to msieve is to add statistics about the sieving in the log. For example, after factoring the number 25626911509016950901475527595812441191940963052854598209, my factoring applet shows:
Code:
Factorization complete in 0d 0h 1m 28s
ECM: 1930358 modular multiplications
Prime checking: 51023 modular multiplications
SIQS: 14681 polynomials sieved
      12859 sets of trial divisions
      1867 smooth congruences found (1 out of every 471805 values)
      10179 partial congruences found (1 out of every 86536 values)
      1353 useful partial congruences
Of course the timing is too high but I cannot control the cache using Java.
alpertron is offline   Reply With Quote
Old 2008-10-20, 14:50   #13
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

32·5·79 Posts
Default

Well, if we're going to consider QS as well, then I'd like to

- add 3LP support

- make the batch factoring, hashtable and NFS filtering code usable by QS. The filtering is divided into a front end that reads relations and a back end that optimizes an intermediate representation of relation sets, and the back end can work just as well for QS and it does for NFS. Indeed you have to have this stuff if you want 3LP

- change the relation format to be stateless; this has caused no end of problems

- clean up the sieving code and find out why gcc 4.x produces a slower binary (MinGW has gcc 4.x available as a beta release, and the slowdowns that some of you reported years ago are finally visible...I never saw them in linux). Much of the cleanup should involve forking separate versions of the sieve code so that different size jobs can avoid having to deal with a single incredibly complex code path that covers all cases


The big hurdle with revamping the QS side of things is (has always been) that nobody would seriously want them done, at least at the expense of the NFS side of things. I've started the changes at least twice before getting demoralized and giving up.

Last fiddled with by jasonp on 2008-10-20 at 14:52
jasonp is offline   Reply With Quote
Old 2008-10-20, 16:41   #14
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Liverpool (GMT/BST)

37·163 Posts
Default

Quote:
Originally Posted by jasonp View Post
- add 3LP support
how much would this speed up qs sieving

my dream for msieve would be a lattice siever but you have stated you dont want to do that
would a lattice sieve work for QS
henryzz is offline   Reply With Quote
Old 2008-10-20, 17:01   #15
xilman
Bamboozled!
 
xilman's Avatar
 
"๐’‰บ๐’ŒŒ๐’‡ท๐’†ท๐’€ญ"
May 2003
Down not across

19×613 Posts
Default

Quote:
Originally Posted by henryzz View Post
would a lattice sieve work for QS
Would you explain what you mean by this please? I don't quite follow you.


Paul
xilman is offline   Reply With Quote
Old 2008-10-20, 17:15   #16
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Liverpool (GMT/BST)

37·163 Posts
Default

Quote:
Originally Posted by xilman View Post
Would you explain what you mean by this please? I don't quite follow you.


Paul
could u use a lattice sieve for QS
henryzz is offline   Reply With Quote
Old 2008-10-20, 17:18   #17
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

1101111000112 Posts
Default

Quote:
Originally Posted by henryzz View Post
could u use a lattice sieve for QS
The multiple polynomial quadratic sieve actually is a lattice sieve; it samples the (one) sieve interval of ordinary QS at only a few points that have known divisors.

To answer your other question, I don't know what kind of speedup 3LP would provide, or how large a job would have to be before getting completed faster with 3LP QS, but Paul's experience makes it likely to be a factor of two speedup for inputs of perhaps 100 digits and up. This only moves the crossover point between QS and NFS up a few digits, which is why it's not very interesting. I only consider it a good use of my time for aesthetic reasons

Last fiddled with by jasonp on 2008-10-20 at 17:21
jasonp is offline   Reply With Quote
Old 2008-10-20, 17:27   #18
R.D. Silverman
 
R.D. Silverman's Avatar
 
"Bob Silverman"
Nov 2003
North of Boston

22·1,877 Posts
Default

Quote:
Originally Posted by jasonp View Post
The multiple polynomial quadratic sieve actually is a lattice sieve; it samples the (one) sieve interval of ordinary QS at only a few points that have known divisors.

To answer your other question, I don't know what kind of speedup 3LP would provide, or how large a job would have to be before getting completed faster with 3LP QS, but Paul's experience makes it likely to be a factor of two speedup for inputs of perhaps 100 digits and up. This only moves the crossover point between QS and NFS up a few digits, which is why it's not very interesting. I only consider it a good use of my time for aesthetic reasons
In terms of the time commitment needed to implement the change,
2LP --> 3LP doesn't require much new code.
R.D. Silverman is offline   Reply With Quote
Old 2008-10-20, 17:36   #19
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

19×232 Posts
Default

Jason probably means that he wants his code to remain both effective and elegant. Tough luck!
___________

"Fast, Good, Cheap - choose any two."
Batalov is offline   Reply With Quote
Old 2008-10-20, 17:58   #20
xilman
Bamboozled!
 
xilman's Avatar
 
"๐’‰บ๐’ŒŒ๐’‡ท๐’†ท๐’€ญ"
May 2003
Down not across

101101011111112 Posts
Default

Quote:
Originally Posted by R.D. Silverman View Post
In terms of the time commitment needed to implement the change,
2LP --> 3LP doesn't require much new code.
The major part of the time, IME, was implementing the post-processing. Extending the siever was rather easy, though slightly fiddly in places.

Paul
xilman is offline   Reply With Quote
Old 2008-10-20, 18:09   #21
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

32×5×79 Posts
Default

Alex Kruppa showed at CADO that keeping the sieving stage efficient in the presence of 3LP relations is actually very difficult, though that probably applies much more to NFS than QS due to the smaller average size of norms. I agree that if you just want to get something untuned up and running then the postprocessing is the biggest part of the work needed, especially if you pick that time to add long-needed improvements.
jasonp is offline   Reply With Quote
Old 2008-10-20, 20:35   #22
XYYXF
 
XYYXF's Avatar
 
Jan 2005
Minsk, Belarus

24·52 Posts
Default

Quote:
Originally Posted by frmky View Post
The only two teams pushing msieve to its limits are Bruce and myself, and Tom's coordinated group here. As far as I am aware, the current version of msieve meets the needs of everyone else.
Agree.

I think Msieve is being used on such large jobs just because there's no good alternative for them. But other packages are being developed, so let's leave these awful 300+ SNFS and 200+ GNFS for CWI et.al., while Msieve will remain an outstanding tool for normal NFS and QS tasks :-)

Just IMHO.

Last fiddled with by XYYXF on 2008-10-20 at 20:37
XYYXF is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
What does net neutrality mean for the future? jasong jasong 1 2015-04-26 08:55
Future of Primes. mfgoode Lounge 3 2006-11-18 23:43
The future of NFSNET JHansen NFSNET Discussion 15 2004-06-01 19:58
GIMPS future Complex33 Lounge 31 2003-12-05 09:08
15k Future? PrimeFun Lounge 21 2003-07-25 02:50

All times are UTC. The time now is 13:34.


Sun Jan 29 13:34:47 UTC 2023 up 164 days, 11:03, 0 users, load averages: 0.62, 0.89, 0.98

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.

โ‰  ยฑ โˆ“ รท ร— ยท โˆ’ โˆš โ€ฐ โŠ— โŠ• โŠ– โŠ˜ โŠ™ โ‰ค โ‰ฅ โ‰ฆ โ‰ง โ‰จ โ‰ฉ โ‰บ โ‰ป โ‰ผ โ‰ฝ โŠ โŠ โŠ‘ โŠ’ ยฒ ยณ ยฐ
โˆ  โˆŸ ยฐ โ‰… ~ โ€– โŸ‚ โซ›
โ‰ก โ‰œ โ‰ˆ โˆ โˆž โ‰ช โ‰ซ โŒŠโŒ‹ โŒˆโŒ‰ โˆ˜ โˆ โˆ โˆ‘ โˆง โˆจ โˆฉ โˆช โจ€ โŠ• โŠ— ๐–• ๐–– ๐–— โŠฒ โŠณ
โˆ… โˆ– โˆ โ†ฆ โ†ฃ โˆฉ โˆช โŠ† โŠ‚ โŠ„ โŠŠ โŠ‡ โŠƒ โŠ… โŠ‹ โŠ– โˆˆ โˆ‰ โˆ‹ โˆŒ โ„• โ„ค โ„š โ„ โ„‚ โ„ต โ„ถ โ„ท โ„ธ ๐“Ÿ
ยฌ โˆจ โˆง โŠ• โ†’ โ† โ‡’ โ‡ โ‡” โˆ€ โˆƒ โˆ„ โˆด โˆต โŠค โŠฅ โŠข โŠจ โซค โŠฃ โ€ฆ โ‹ฏ โ‹ฎ โ‹ฐ โ‹ฑ
โˆซ โˆฌ โˆญ โˆฎ โˆฏ โˆฐ โˆ‡ โˆ† ฮด โˆ‚ โ„ฑ โ„’ โ„“
๐›ข๐›ผ ๐›ฃ๐›ฝ ๐›ค๐›พ ๐›ฅ๐›ฟ ๐›ฆ๐œ€๐œ– ๐›ง๐œ ๐›จ๐œ‚ ๐›ฉ๐œƒ๐œ— ๐›ช๐œ„ ๐›ซ๐œ… ๐›ฌ๐œ† ๐›ญ๐œ‡ ๐›ฎ๐œˆ ๐›ฏ๐œ‰ ๐›ฐ๐œŠ ๐›ฑ๐œ‹ ๐›ฒ๐œŒ ๐›ด๐œŽ๐œ ๐›ต๐œ ๐›ถ๐œ ๐›ท๐œ™๐œ‘ ๐›ธ๐œ’ ๐›น๐œ“ ๐›บ๐œ”