mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2015-10-02, 01:55   #78
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

Sorry I did read your previous analysis (thank you that was boneheaded of me) but have been too buried to do anything about it.
jasonp is offline   Reply With Quote
Old 2015-10-16, 07:56   #79
debrouxl
 
debrouxl's Avatar
 
Sep 2009

977 Posts
Default

I noticed that the folks from the "Factoring as a Service" project ( http://seclab.upenn.edu/projects/faas/ ) are using a patched msieve 1.52.
The patch adds some threaded versions of existing functions, but at least one change is presented as a real bugfix certainly worth upstreaming. In gnfs/gnfs.h:
Quote:
This is a bug fix to the existing mpz_poly_copy() code. A simple memcpy is not sufficient for mpz_t. It must be set correctly using the mpz_set() method.
Patch: https://github.com/eniac/faas/blob/m...s/msieve.patch
debrouxl is offline   Reply With Quote
Old 2015-10-16, 17:21   #80
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

Awesome, thanks for the reference. Yes it's a silly bug and needs fixing.

This paper is the first direct comparison I have seen of the LA in CADO vs Msieve. It also is pretty gratifying that the filtering and LA work exactly as designed on a grid infrastructure I've never used.
jasonp is offline   Reply With Quote
Old 2015-10-18, 15:23   #81
debrouxl
 
debrouxl's Avatar
 
Sep 2009

977 Posts
Default

Indeed. I hadn't yet skimmed the paper, but the comparison is pretty interesting.

I'm not knowledgeable to review MPI code, and by now, I doubt their code needs much additional testing, so I don't think I can be of much help integrating the rest of their changes to upstream msieve.
debrouxl is offline   Reply With Quote
Old 2015-10-18, 22:32   #82
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

The other thing to bear in mind is that Block Weidemann needs 1.5x as many matrix multiplies as Block Lanczos, when otherwise parametrized identically. So there's a significant headwind that the independent parallelism of BW has to fight against, in addition to the communication overhead of parallel matrix-vector products.

Those matrix multiplies are somewhat easier than the BL version, since Block Lanczos need both standard and transpose matrix multiplies. That guides the storage scheme for identifying matrix nonzeros, and gives BW more flexibility.

The MPI code in Msieve was basically made possible by NFS@Home, and made awesome by lots of ideas from Greg and from Ilya Popovyan (poily on the forum).
jasonp is offline   Reply With Quote
Old 2015-10-19, 07:05   #83
fivemack
(loop (#_fork))
 
fivemack's Avatar
 
Feb 2006
Cambridge, England

72×131 Posts
Default What am I doing wrong?

In worktodo.ini I put
Code:
42857434224874487316101235884625321672621468992767603975720122719934913716966438929751735586358421282460051668796790253996189486073881951577861086006924202623766039565813608207693472680875744587593619524755820478921777990571259251057
In msieve.fb I put
Code:
N 42857434224874487316101235884625321672621468992767603975720122719934913716966438929751735586358421282460051668796790253996189486073881951577861086006924202623766039565813608207693472680875744587593619524755820478921777990571259251057
SKEW 1
A0 56783761
A3 56783758
A6 56806369
R0 591541410726415701383522368056534442849
R1 -1
But when I run msieve -v -nc1 to get the combined-score value, it tells me 'warning: NFS input not found in factor base file'.

This turns out to be because the number is divisible by three, and msieve took out that factor before looking in the factor base file. Removing the factor manually makes it work.

Last fiddled with by fivemack on 2015-10-19 at 07:34
fivemack is offline   Reply With Quote
Old 2015-11-06, 18:31   #84
chris2be8
 
chris2be8's Avatar
 
Sep 2009

81E16 Posts
Default

I've just has a long trip down the garden path debugging what turned out to be an error in my script. The symptom was that msieve did absolutely nothing when called with an empty ini file:
Code:
chris@linux-5hwg:~/bin> /home/chris/ggnfs/bin/msieve -i /dev/null
chris@linux-5hwg:~/bin>
I spend about an hour trying to work out why the script wasn't calling msieve before I realized it was calling msieve, but msieve was being coy.

I got the same (lack of) output with Msieve v. 1.52 (SVN 956) and with Msieve v. 1.53 (SVN 988M)

Some output to indicate that msieve had been called but could not find anything in the ini file would have saved a lot of puzzling.

Chris
chris2be8 is offline   Reply With Quote
Old 2015-11-06, 21:46   #85
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

10,753 Posts
Default

Quote:
Originally Posted by chris2be8 View Post
The symptom was that msieve did absolutely nothing when called with an empty ini file
You asked for it, you got it.
Quote:
Originally Posted by chris2be8 View Post
Some output to indicate that msieve had been called but could not find anything in the ini file would have saved a lot of puzzling.
Perhaps so.

This is a screen shot taken just now to show typical behaviour on my systerm:
Code:
pcl@anubis ~ $ cat < /dev/null
pcl@anubis ~ $ bc < /dev/null
pcl@anubis ~ $ mkdir foo
pcl@anubis ~ $ cd foo
pcl@anubis ~/foo $ ls
pcl@anubis ~/foo $
You might be on to something.
xilman is offline   Reply With Quote
Old 2015-11-07, 01:56   #86
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

I see what you mean; probably worth a fix

Last fiddled with by jasonp on 2015-11-07 at 01:58
jasonp is offline   Reply With Quote
Old 2015-12-17, 16:11   #87
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3·29·83 Posts
Default

Just saw this on an otherwise uninteresting C119 from an aliquot sequence:

Code:
commencing linear algebra
read 719173 cycles
cycles contain 2543430 unique relations
read 2543430 relations
using 20 quadratic characters above 134216912
building initial matrix
memory use: 317.8 MB
read 719173 cycles
matrix is 718994 x 719173 (216.7 MB) with weight 67200164 (93.44/col)
sparse part has weight 48891645 (67.98/col)
filtering completed in 2 passes
matrix is 717247 x 717426 (216.5 MB) with weight 67132467 (93.57/col)
sparse part has weight 48871111 (68.12/col)
matrix starts at (0, 0)
matrix is 717247 x 717426 (216.5 MB) with weight 67132467 (93.57/col)
sparse part has weight 48871111 (68.12/col)
saving the first 48 matrix rows for later
matrix includes 64 packed rows
matrix is 717199 x 717426 (207.7 MB) with weight 53501684 (74.57/col)
sparse part has weight 47283662 (65.91/col)
using block size 8192 and superblock size 786432 for processor cache size 8192 kB
commencing Lanczos iteration (4 threads)
memory use: 161.3 MB
linear algebra at 0.4%, ETA 0h15m717426 dimensions (0.4%, ETA 0h15m)    
linear algebra completed 717105 of 717426 dimensions (100.0%, ETA 0h 0m)    
lanczos halted after 11343 iterations (dim = 717197)
recovered 29 nontrivial dependencies
BLanczosTime: 1089
nfs: commencing msieve sqrt

commencing square root phase
reading relations for dependency 1
read 358809 cycles
cycles contain 1272586 unique relations
read 1272586 relations
multiplying 1272586 relations
multiply complete, coefficients have about 58.21 million bits
initial square root is modulo 227729329
Newton iteration failed to converge
algebraic square root failed
Dubslow is offline   Reply With Quote
Old 2015-12-18, 01:32   #88
jyb
 
jyb's Avatar
 
Aug 2005
Seattle, WA

2×877 Posts
Default

Quote:
Originally Posted by Dubslow View Post
Just saw this on an otherwise uninteresting C119 from an aliquot sequence:

Code:
commencing linear algebra
read 719173 cycles
cycles contain 2543430 unique relations
read 2543430 relations
using 20 quadratic characters above 134216912
building initial matrix
memory use: 317.8 MB
read 719173 cycles
matrix is 718994 x 719173 (216.7 MB) with weight 67200164 (93.44/col)
sparse part has weight 48891645 (67.98/col)
filtering completed in 2 passes
matrix is 717247 x 717426 (216.5 MB) with weight 67132467 (93.57/col)
sparse part has weight 48871111 (68.12/col)
matrix starts at (0, 0)
matrix is 717247 x 717426 (216.5 MB) with weight 67132467 (93.57/col)
sparse part has weight 48871111 (68.12/col)
saving the first 48 matrix rows for later
matrix includes 64 packed rows
matrix is 717199 x 717426 (207.7 MB) with weight 53501684 (74.57/col)
sparse part has weight 47283662 (65.91/col)
using block size 8192 and superblock size 786432 for processor cache size 8192 kB
commencing Lanczos iteration (4 threads)
memory use: 161.3 MB
linear algebra at 0.4%, ETA 0h15m717426 dimensions (0.4%, ETA 0h15m)    
linear algebra completed 717105 of 717426 dimensions (100.0%, ETA 0h 0m)    
lanczos halted after 11343 iterations (dim = 717197)
recovered 29 nontrivial dependencies
BLanczosTime: 1089
nfs: commencing msieve sqrt

commencing square root phase
reading relations for dependency 1
read 358809 cycles
cycles contain 1272586 unique relations
read 1272586 relations
multiplying 1272586 relations
multiply complete, coefficients have about 58.21 million bits
initial square root is modulo 227729329
Newton iteration failed to converge
algebraic square root failed
I see this happen occasionally, but msieve just moves on to the next dependency, so it's not really a big problem. Did that not happen here?
jyb is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Msieve 1.50 feedback firejuggler Msieve 99 2013-02-17 11:53
Msieve v1.48 feedback Jeff Gilchrist Msieve 48 2011-06-10 18:18
Msieve 1.43 feedback Jeff Gilchrist Msieve 47 2009-11-24 15:53
Msieve 1.42 feedback Andi47 Msieve 167 2009-10-18 19:37
Msieve 1.41 Feedback Batalov Msieve 130 2009-06-09 16:01

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


Sat Jul 17 01:09:06 UTC 2021 up 49 days, 22:56, 1 user, load averages: 1.33, 1.66, 1.55

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