mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Msieve (https://www.mersenneforum.org/forumdisplay.php?f=83)
-   -   Different msieve 1.39 poly selection outputs... (https://www.mersenneforum.org/showthread.php?t=11218)

Jeff Gilchrist 2008-12-29 12:32

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
[/CODE]

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[/CODE]

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.

jasonp 2008-12-29 14:51

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.

Jeff Gilchrist 2008-12-29 17:56

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

Jeff.

jasonp 2008-12-29 18:01

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.

Jeff Gilchrist 2008-12-29 20:56

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
[/CODE]

Maybe you can just add another line like:

[I]also add 'GMP=1' if GMP is available to use advance polynomial selection[/I]

or something like that.

Jeff.

miklin 2008-12-29 23:07

[quote=jasonp;155622]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.[/quote]

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.


All times are UTC. The time now is 15:42.

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