mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Msieve (https://www.mersenneforum.org/forumdisplay.php?f=83)
-   -   Msieve 1.50 feedback (https://www.mersenneforum.org/showthread.php?t=16498)

Dubslow 2012-08-27 04:06

[QUOTE=Dubslow;309331]Why print exp(alpha)*size_norm, rather than just plain size_norm, if the alpha is already folded into size_norm?

Edit: config->heap[i] is just the i'th thread's best poly (where i is always 0 :razz:)?[/QUOTE]

Oh okay, you don't actually use the "final" score in the code anywhere, just the
"pre-alpha-influence" norm.

jasonp 2012-08-27 11:39

Alpha is the log of the average reduction in the size of sieve values due to them being samples of the algebraic polynomial and not random numbers. The size score is the average size of those polynomial values, so it makes sense to fold in the influence of the projective part of alpha, which depends only on the leading algebraic coefficient and will never change. Later code will optimize alpha more, but since that code hasn't run yet we're assuming the polynomial values behave like random numbers otherwise, which by definition have an 'additional alpha' of zero.

Dubslow 2012-08-28 04:21

Umm.... I'm pretty sure the other mods I've made aren't affecting this.
[code]bill@Gravemind:~/yafu/kibibit/test∰∂ ./msieve -i num -np1 -nps min_coeff=1 max_coeff=300
args: min_coeff=1
max: (null) min: 1
...
coeff 300 specialq 1 - 1412 other 12285 - 29484
aprogs: 1968 entries, 2536 roots
hashtable: 2048 entries, 0.03 MB, 275 total spq, 0s elapsed
coeff 300 specialq 1 - 245 other 29484 - 70761
aprogs: 4704 entries, 6372 roots
hashtable: 8192 entries, 0.12 MB, 48 total spq, 0s elapsed
coeff 312 specialq 1 - 1438 other 12221 - 29330 // didn't stop at 300
aprogs: 1970 entries, 2662 roots
hashtable: 2048 entries, 0.03 MB, 286 total spq, 0s elapsed
coeff 312 specialq 1 - 249 other 29330 - 70392
aprogs: 4699 entries, 6571 roots
[/code]
The first two are just random printfs I threw in to try and make the initial trouble shoot. In demo.c the only assignment to nfs_args that I could see was this:
[code]nfs_args = argv[++i];[/code]
That would seem to imply only one arg would ever make it into nfs_args, and yet I thought I had used it fine earlier with more than one arg. So I just tried again:
[code]bill@Gravemind:~/yafu/kibibit/test∰∂ ./msieve -i num -np1 -nps max_coeff=350 min_coeff=300
args: max_coeff=350
max: 350 min: (null)[/code]

frmky 2012-08-28 08:31

Try that as
./msieve -i num -np1 "min_coeff=1 max_coeff=300" -nps

jasonp 2012-08-28 11:23

Yes, it's unintuitive but there is one list of arguments for all the NFS switches combined. Maybe I should word the help text differently?

swishzzz 2013-01-13 21:46

Interesting bug i found:

[code]
Sun Jan 13 01:10:37 2013 Msieve v. 1.50 (SVN Official Release)
Sun Jan 13 01:10:37 2013 random seeds: 416584e0 3ed58768
Sun Jan 13 01:10:37 2013 factoring 775921833176140273353503438196872540573454219484469462271256946880723646470556319751992519654110582291211829713507251059780121158622049396067202757 (147 digits)
Sun Jan 13 01:10:37 2013 searching for 15-digit factors
Sun Jan 13 01:10:38 2013 commencing number field sieve (147-digit input)
Sun Jan 13 01:10:38 2013 R0: -10889035741470030830827987437816582766592
Sun Jan 13 01:10:38 2013 R1: 1
Sun Jan 13 01:10:38 2013 A0: 5
Sun Jan 13 01:10:38 2013 A1: 0
Sun Jan 13 01:10:38 2013 A2: 0
Sun Jan 13 01:10:38 2013 A3: 0
Sun Jan 13 01:10:38 2013 A4: 0
Sun Jan 13 01:10:38 2013 A5: 4
Sun Jan 13 01:10:38 2013 skew 1.05, size 1.206e-013, alpha 0.512, combined = 2.128e-011 rroots = 1
Sun Jan 13 01:10:38 2013
Sun Jan 13 01:10:38 2013 commencing linear algebra
Sun Jan 13 01:10:38 2013 read 3309325 cycles
Sun Jan 13 01:10:43 2013 cycles contain 11573849 unique relations
Sun Jan 13 01:11:40 2013 read 11573849 relations
Sun Jan 13 01:11:55 2013 using 20 quadratic characters above 536870820
Sun Jan 13 01:12:48 2013 building initial matrix
Sun Jan 13 01:14:33 2013 memory use: 1420.7 MB
Sun Jan 13 01:14:48 2013 read 3309325 cycles
Sun Jan 13 01:14:49 2013 matrix is 3309148 x 3309325 (1001.0 MB) with weight 296138694 (89.49/col)
Sun Jan 13 01:14:49 2013 sparse part has weight 226002893 (68.29/col)
Sun Jan 13 01:15:21 2013 filtering completed in 2 passes
Sun Jan 13 01:15:22 2013 matrix is 3305852 x 3306029 (1000.7 MB) with weight 296027568 (89.54/col)
Sun Jan 13 01:15:22 2013 sparse part has weight 225971967 (68.35/col)
Sun Jan 13 01:15:37 2013 matrix starts at (0, 0)
Sun Jan 13 01:15:38 2013 matrix is 3305852 x 3306029 (1000.7 MB) with weight 296027568 (89.54/col)
Sun Jan 13 01:15:38 2013 sparse part has weight 225971967 (68.35/col)
Sun Jan 13 01:15:38 2013 saving the first 48 matrix rows for later
Sun Jan 13 01:15:39 2013 matrix includes 64 packed rows
Sun Jan 13 01:15:40 2013 matrix is 3305804 x 3306029 (956.5 MB) with weight 237568603 (71.86/col)
Sun Jan 13 01:15:40 2013 sparse part has weight 217682934 (65.84/col)
Sun Jan 13 01:15:40 2013 using block size 65536 for processor cache size 3072 kB
Sun Jan 13 01:15:52 2013 commencing Lanczos iteration (3 threads)
Sun Jan 13 01:15:52 2013 memory use: 819.4 MB
Sun Jan 13 01:16:17 2013 linear algebra at 0.0%, ETA 14h26m
Sun Jan 13 01:16:24 2013 checkpointing every 240000 dimensions
Sun Jan 13 15:18:04 2013 lanczos halted after 52286 iterations (dim = 3305801)
Sun Jan 13 15:18:09 2013 recovered 38 nontrivial dependencies
Sun Jan 13 15:18:09 2013 BLanczosTime: 50851
Sun Jan 13 15:18:09 2013 elapsed time 14:07:32
Sun Jan 13 15:18:09 2013 -> Computing 1.35811e+09 scale for this machine...
Sun Jan 13 15:18:09 2013 -> procrels -speedtest> PIPE
Sun Jan 13 15:18:12 2013 -> Factorization summary written to s201-example.txt
[/code]

So apparently msieve simply skipped over the sqrt step... this has never happened to me before so I ran the sqrt step separately and in the end I got the two factors. Also a snippet of the log:

[code]
Number: example
N = 775921833176140273353503438196872540573454219484469462271256946880723646470556319751992519654110582291211829713507251059780121158622049396067202757 (147 digits)
SNFS difficulty: 201 digits.
Divisors found:
Version: Msieve v. 1.50 (SVN Official Release)
...
[/code]

ryanp 2013-01-27 18:07

"Only trivial dependencies found", msieve 1.50
 
Hi all,

Apologies if I've missed this bug report somewhere else in the forum. I'm using msieve 1.50 at the moment because 1.51 apparently does not support the '-D <X>' flag in the filtering stage...

[code]Sat Jan 26 09:27:46 2013 Msieve v. 1.50 (SVN exported)
Sat Jan 26 09:27:46 2013 random seeds: 77e386ac cb09dce0
Sat Jan 26 09:27:46 2013 factoring 314000254739144687620633809417767158840316973669072027154186370218172550262219110651065796632868448424990481494006208962402015377000016002848929730348462146013959065683157 (171 digits)
Sat Jan 26 09:27:47 2013 searching for 15-digit factors
Sat Jan 26 09:27:48 2013 commencing number field sieve (171-digit input)
Sat Jan 26 09:27:48 2013 R0: -3428059194610248418999310133506541547
Sat Jan 26 09:27:48 2013 R1: 1
Sat Jan 26 09:27:48 2013 A0: -131492089
Sat Jan 26 09:27:48 2013 A1: 0
Sat Jan 26 09:27:48 2013 A2: 0
Sat Jan 26 09:27:48 2013 A3: 0
Sat Jan 26 09:27:48 2013 A4: 0
Sat Jan 26 09:27:48 2013 A5: 1
Sat Jan 26 09:27:48 2013 skew 42.05, size 2.093e-13, alpha 0.919, combined = 3.473e-11 rroots = 1
Sat Jan 26 09:27:48 2013
Sat Jan 26 09:27:48 2013 commencing linear algebra
Sat Jan 26 09:27:48 2013 read 6876494 cycles
Sat Jan 26 09:27:50 2013 cycles contain 7275787 unique relations
Sat Jan 26 09:31:19 2013 read 7275787 relations
Sat Jan 26 09:31:21 2013 using 20 quadratic characters above 268424292
Sat Jan 26 09:31:52 2013 building initial matrix
Sat Jan 26 09:32:28 2013 memory use: 1155.8 MB
Sat Jan 26 09:32:30 2013 read 6876494 cycles
Sat Jan 26 09:32:31 2013 matrix is 6348343 x 6876494 (685.2 MB) with weight 211890245 (30.81/col)
Sat Jan 26 09:32:31 2013 sparse part has weight 103988368 (15.12/col)
Sat Jan 26 09:33:08 2013 filtering completed in 4 passes
Sat Jan 26 09:33:09 2013 matrix is 3570689 x 3570889 (405.2 MB) with weight 124377859 (34.83/col)
Sat Jan 26 09:33:09 2013 sparse part has weight 66929091 (18.74/col)
Sat Jan 26 09:33:16 2013 matrix starts at (0, 0)
Sat Jan 26 09:33:17 2013 matrix is 3570689 x 3570889 (405.2 MB) with weight 124377859 (34.83/col)
Sat Jan 26 09:33:17 2013 sparse part has weight 66929091 (18.74/col)
Sat Jan 26 09:33:17 2013 saving the first 48 matrix rows for later
Sat Jan 26 09:33:17 2013 matrix includes 64 packed rows
Sat Jan 26 09:33:17 2013 matrix is 3570641 x 3570889 (380.9 MB) with weight 69841686 (19.56/col)
Sat Jan 26 09:33:17 2013 sparse part has weight 64140299 (17.96/col)
Sat Jan 26 09:33:17 2013 using block size 65536 for processor cache size 20480 kB
Sat Jan 26 09:33:21 2013 commencing Lanczos iteration (32 threads)
Sat Jan 26 09:33:21 2013 memory use: 1109.3 MB
Sat Jan 26 09:33:32 2013 linear algebra at 0.0%, ETA 6h32m
Sat Jan 26 09:33:35 2013 checkpointing every 570000 dimensions
Sat Jan 26 16:14:47 2013 lanczos error (dim = 3570501): not all columns used
Sat Jan 26 16:14:47 2013 lanczos halted after 56466 iterations (dim = 3570501)
Sat Jan 26 16:14:47 2013 linear algebra failed; retrying...
Sat Jan 26 16:14:47 2013 commencing Lanczos iteration (32 threads)
Sat Jan 26 16:14:47 2013 memory use: 1109.3 MB
Sat Jan 26 16:14:57 2013 linear algebra at 0.0%, ETA 6h31m
Sat Jan 26 16:15:01 2013 checkpointing every 530000 dimensions
Sat Jan 26 22:55:33 2013 lanczos halted after 56463 iterations (dim = 3570503)
Sat Jan 26 22:55:35 2013 lanczos error: only trivial dependencies found
Sat Jan 26 22:55:36 2013 BLanczosTime: 48468
Sat Jan 26 22:55:36 2013 elapsed time 13:27:50[/code]

What's the meaning of "only trivial dependencies found"? Is the cycles file or matrix corrupted somehow? (I was eventually able to factor this number with GMP-ECM, btw: [url]http://www.factordb.com/index.php?id=1100000000472873759[/url])

Thanks...

WraithX 2013-01-27 19:00

[QUOTE=ryanp;326164]What's the meaning of "only trivial dependencies found"? Is the cycles file or matrix corrupted somehow? (I was eventually able to factor this number with GMP-ECM, btw: [url]http://www.factordb.com/index.php?id=1100000000472873759[/url])

Thanks...[/QUOTE]

I'm not 100% sure what the "only trivial dependencies found" message means. You'll have to wait for Jason, or someone else more knowledgeable, to let you know for sure.

However, I really wanted to talk to you about the factor you found with GMP-ECM. From the link you posted, it looks like you found a P63 factor. This would get you into this year's Top-10 list at ecmnet here:
[url]http://www.loria.fr/~zimmerma/records/ecmnet.html[/url]
Also, it is big enough to get you into the All Time Top-50 list on that same page. I'd recommend visiting that page and reporting your factor to Paul Z, whose email address is at the bottom of the page. If/when you report your factor, be sure to include information like B1, sigma, and when you found the factor. Congratulations on the factor and good luck on future Msieve and/or GMP-ECM factorizations.

Dubslow 2013-01-27 21:26

See [URL="http://www.mersenneforum.org/showthread.php?p=311866#post311866"]this[/URL] and the ensuing posts. It means exactly what is says: the matrix solving code only found the trivial dependency, i.e. the only vector sum that is zero is where all vectors' coefficients are zero.

For whatever reason, this consistently happens when there are too many relations. Yes, it is completely counter intuitive, but that's what happens. You'd filter/do LA again with less relations to get factors.

Batalov 2013-01-27 21:33

Correct.
Here's a red flag in matrix building -
[CODE]Sat Jan 26 09:32:30 2013 read 6876494 cycles
Sat Jan 26 09:32:31 2013 matrix is 6348343 x 6876494 (685.2 MB) with weight 211890245 ([COLOR=darkred][B]30.81/col[/B][/COLOR])
Sat Jan 26 09:32:31 2013 sparse part has weight 103988368 ([COLOR=darkred][B]15.12/col[/B][/COLOR])[/CODE]
This does happen in the situation that the previous speaker referred to.

What to do:
[CODE]wc -l *.dat
# take off 10%, let's call this number [B][I]N[/I][/B]
mv test.dat test.dat.full
head -[B][I]N[/I][/B] test.dat.full > test.dat
# then do -nc1 and if the density is still low, repeat by taking another 10% off the top
[/CODE]

ryanp 2013-01-27 21:39

[QUOTE=Batalov;326200]Correct.
Here's a red flag in matrix building -
[CODE]Sat Jan 26 09:32:30 2013 read 6876494 cycles
Sat Jan 26 09:32:31 2013 matrix is 6348343 x 6876494 (685.2 MB) with weight 211890245 ([COLOR=darkred][B]30.81/col[/B][/COLOR])
Sat Jan 26 09:32:31 2013 sparse part has weight 103988368 ([COLOR=darkred][B]15.12/col[/B][/COLOR])[/CODE]
This does happen in the situation that the previous speaker referred to.

What to do:
[CODE]wc -l *.dat
# take off 10%, let's call this number [B][I]N[/I][/B]
mv test.dat test.dat.full
head -[B][I]N[/I][/B] test.dat.full > test.dat
# then do -nc1 and if the density is still low, repeat by taking another 10% off the top
[/CODE][/QUOTE]

Ugh... black magic. Never suspected I could "oversieve". Thanks. :)


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

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