mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2008-12-29, 12:32   #1
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

7·167 Posts
Question Different msieve 1.39 poly selection outputs...

I'm seeing something strange with msieve 1.39, different output depending on if I use the pre-compiled Windows binary or if I compile my own 64bit Linux binary.

The Linux binary produces this output when using: ./msieve -v -np

Code:
Msieve v. 1.39
Sun Dec 28 10:32:20 2008
random seeds: d5401032 040d3ce2
factoring 688094613268595268574736017543936713091739809988881023562234906142638745021206177932798639021038511018960141391793482266135100013 (129 digits)
no P-1/P+1/ECM available, skipping
commencing number field sieve (129-digit input)
commencing number field sieve polynomial selection
time limit set to 13.65 hours
100% done (processed 6920 blocks)
polynomial selection complete
R0: -14527485475468351207262
R1:  1
A0: -132819923043736244013
A1:  39333826885388261701
A2:  164036265533121057415
A3: -38510493638343030065
A4: -23469717459034141206
A5:  1063398169681182720
skew 1.00, size 1.104202e-13, alpha -4.299943, combined = 4.629448e-13
elapsed time 13:40:43
It shows this line only: "100% done (processed 6920 blocks)" incrementing the % done until it outputs the final polynomial. The msieve.fb file is populated but the msieve.dat.p remains at 0 bytes. I tried this on two different systems, one a Xeon (gcc (GCC) 4.1.2) and another an Opteron (gcc (GCC) 3.4.6).

Does the fact it uses a SKEW of 1.00 seem strange?

The Windows pre-compiled binary however show much more details:
Code:
Msieve v. 1.39
Mon Dec 29 06:50:43 2008
random seeds: 6b79b6b0 d4618e91
factoring 688094613268595268574736017543936713091739809988881023562234906142638745021206177932798639021038511018960141391793482266135100013 (129 digits)
searching for 15-digit factors
commencing number field sieve (129-digit input)
commencing number field sieve polynomial selection
time limit set to 13.65 hours
searching leading coefficients from 25512 to 92206
deadline: 100 seconds per coefficient
coeff 25560-28500 9316304 12111195 12111196 15744554 lattice 2184182
p 9316304 12111195 12111196 15744554 lattice 2184182
batch 5000 10985599
save 3.685622e+018 -6.917889 680926.857325 1.405190e-012
save 3.389747e+018 -6.653608 374314.892196 1.377683e-012
Instead of showing a % complete in blocks it shows all the save lines and it does populate msieve.dat.p with data.

Are there two different code paths being used here or is this some kind of bug?

Jeff.
Jeff Gilchrist is offline   Reply With Quote
Old 2008-12-29, 14:51   #2
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

66378 Posts
Default

The new polynomial selector requires GMP, so you have to run make with GMP=1 . Otherwise the code will compile the 3-year-old (terrible) non-skewed polynomial selector.
jasonp is offline   Reply With Quote
Old 2008-12-29, 17:56   #3
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

7×167 Posts
Default

Ah ok, that makes sense now, I guess I missed that detail before I compiled.

Jeff.
Jeff Gilchrist is offline   Reply With Quote
Old 2008-12-29, 18:01   #4
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

11×317 Posts
Default

In your defense, it wasn't exactly obvious you had to do that :)

I didn't want to make it the default because then users would have to figure out how to compile or download GMP to make msieve compile at all, and compiling GMP isn't easy with windows tools. I do have plans to remove the GMP dependency eventually, at which time the crappy poly selector will go away.
jasonp is offline   Reply With Quote
Old 2008-12-29, 20:56   #5
Jeff Gilchrist
 
Jeff Gilchrist's Avatar
 
Jun 2003
Ottawa, Canada

116910 Posts
Default

No problem, when you type 'make' it gives you this output:

Code:
pick a target:
x86       32-bit Intel/AMD systems (required if gcc used)
x86_64    64-bit Intel/AMD systems (required if gcc used)
generic   portable code
also add 'ECM=1' if GMP-ECM is available
Maybe you can just add another line like:

also add 'GMP=1' if GMP is available to use advance polynomial selection

or something like that.

Jeff.
Jeff Gilchrist is offline   Reply With Quote
Old 2008-12-29, 23:07   #6
miklin
 
miklin's Avatar
 
Nov 2007

3·52 Posts
Default

Quote:
Originally Posted by jasonp View Post
In your defense, it wasn't exactly obvious you had to do that :)

I didn't want to make it the default because then users would have to figure out how to compile or download GMP to make msieve compile at all, and compiling GMP isn't easy with windows tools. I do have plans to remove the GMP dependency eventually, at which time the crappy poly selector will go away.
And behind what to clean GMP, normally it gathers, yes all is fine with it works.
By default already costs in many LINUX (for example Debian, and also it is used GCC 4.3.x (GCC requires the GMP and MPFR libraries for building all the various front-end languages it supports.).

P.S And as to for win32, win64 so for them sense to do only pol51m0bx.exe, pol51optx.exe, gnfs-lasieve4I1xe.exe as it is more than them.

Last fiddled with by miklin on 2008-12-29 at 23:22
miklin is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Msieve parallel poly selection with several GPU cards jacky Msieve 8 2017-09-29 13:05
msieve parallel poly selection with MPI drone84 Msieve 4 2017-06-28 09:18
C138 poly selection firejuggler Aliquot Sequences 1 2011-02-21 06:38
Restart/continue poly selection with msieve? Jeff Gilchrist Msieve 3 2009-04-25 14:03
poly selection in MPQS bsquared Factoring 3 2007-02-28 14:22

All times are UTC. The time now is 09:47.

Tue Oct 20 09:47:08 UTC 2020 up 40 days, 6:58, 0 users, load averages: 1.49, 1.53, 1.48

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.