mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2013-11-08, 23:42   #1
ThomRuley
 
ThomRuley's Avatar
 
May 2003

1001000112 Posts
Default Factmsieve.py acting strange

I followed the instructions given by Jeff Gilchrist and thought factmsieve would be working by now.

Instead, I keep getting this error message:

C:\GGNFS>factmsieve.py Nov8.n
-> ________________________________________________________________
-> | Running factmsieve.py, a Python driver for MSIEVE with GGNFS |
-> | sieving support. It is Copyright, 2010, Brian Gladman and is |
-> | a conversion of factmsieve.pl that is Copyright, 2004, Chris |
-> | Monico. Version 0.76 (Python 2.6 or later) 10th Nov 2010. |
-> |______________________________________________________________|
-> This is client 1 of 1
-> Running on 1 Core with 1 hyper-thread per Core
-> Working with NAME = Nov8
-> Could not find the program: msieve151.
-> Did you set the paths properly in this script?
-> They are currently set to:
-> GGNFS_BIN_PATH = c:/ggnfs/
-> MSIEVE_BIN_PATH = c:/ggnfs/example

C:\GGNFS>

I have already checked my directories in factmsieve and I have moved fresh copies of both the factmsieve.py and msieve151.exe files to both GGNFS and to GGNFS/example. So far nothing has worked.

Has anyone else seen this error message?

Thanks
ThomRuley is offline   Reply With Quote
Old 2013-11-09, 01:14   #2
WraithX
 
WraithX's Avatar
 
Mar 2006

10128 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
-> Could not find the program: msieve151.
-> Did you set the paths properly in this script?
-> They are currently set to:
-> GGNFS_BIN_PATH = c:/ggnfs/
-> MSIEVE_BIN_PATH = c:/ggnfs/example
Try putting one more '/' character at the end of your MSIEVE_PATH, like so:

MSIEVE_PATH = 'c:/ggnfs/example/'

That should be around line 61 in the factmsieve.py script. Let us know how that goes.
WraithX is offline   Reply With Quote
Old 2013-11-09, 01:46   #3
ThomRuley
 
ThomRuley's Avatar
 
May 2003

3×97 Posts
Default

It's doing things now.

Thanks
ThomRuley is offline   Reply With Quote
Old 2013-11-09, 01:54   #4
ThomRuley
 
ThomRuley's Avatar
 
May 2003

3×97 Posts
Default

By doing things, I meant it was busy creating an error message:

Quote:
C:\GGNFS\example>factmsieve.py Nov8.n
-> ________________________________________________________________
-> | Running factmsieve.py, a Python driver for MSIEVE with GGNFS |
-> | sieving support. It is Copyright, 2010, Brian Gladman and is |
-> | a conversion of factmsieve.pl that is Copyright, 2004, Chris |
-> | Monico. Version 0.76 (Python 2.6 or later) 10th Nov 2010. |
-> |______________________________________________________________|
-> This is client 1 of 1
-> Running on 1 Core with 1 hyper-thread per Core
-> Working with NAME = Nov8
-> Error: Polynomial file Nov8.poly does not exist!
-> Found n = 5983605243577155301662493679806458394948661690179539915903972736671
4353724882054701072159690092026048116257431.
-> Running polynomial selection ...
-> msieve151 -s .\Nov8.dat -l .\Nov8.log -i .\Nov8.ini -nf .\Nov8.fb -v -np


Msieve v. 1.51 (SVN 845)
Fri Nov 08 20:48:19 2013
random seeds: b7100128 aa7b731e
factoring 5983605243577155301662493679806458394948661690179539915903972736671435
3724882054701072159690092026048116257431 (110 digits)
searching for 15-digit factors
Msieve Error: return value 3221225501. Terminating...

C:\GGNFS\example>
This happened twice.
ThomRuley is offline   Reply With Quote
Old 2013-11-09, 06:03   #5
Robert_JD
 
Robert_JD's Avatar
 
Sep 2010
So Cal

2·52 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
By doing things, I meant it was busy creating an error message:



This happened twice.
Try setting your DIR_PATH in factmsieve.py to the following doubleslash format. ( I assume you're running a Win OS )

# Set binary directory paths
GGNFS_PATH = 'C:\\ggnfs\\'
MSIEVE_PATH = 'C:\\ggnfs\\example\\'
Robert_JD is offline   Reply With Quote
Old 2013-11-09, 12:34   #6
WraithX
 
WraithX's Avatar
 
Mar 2006

2×32×29 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
By doing things, I meant it was busy creating an error message:

-> msieve151 -s .\Nov8.dat -l .\Nov8.log -i .\Nov8.ini -nf .\Nov8.fb -v -np


Msieve v. 1.51 (SVN 845)
Fri Nov 08 20:48:19 2013
random seeds: b7100128 aa7b731e
factoring 5983605243577155301662493679806458394948661690179539915903972736671435
3724882054701072159690092026048116257431 (110 digits)
searching for 15-digit factors
Msieve Error: return value 3221225501. Terminating...

C:\GGNFS\example>

This happened twice.
Can you try to manually run the following command in your example directory?

msieve151 -s .\Nov8.dat -l .\Nov8.log -i .\Nov8.ini -nf .\Nov8.fb -v -np

Also, try a variant on it like so:
msieve151 -s ./Nov8.dat -l ./Nov8.log -i ./Nov8.ini -nf ./Nov8.fb -v -np

I think the first one will produce the same error, but the second one might have a chance of working.

If all of that does not work, then, I think it is strange that you get the error right after it is "searching for 15-digit factors". This may indicate that the ecm compiled into msieve is having problems. Try to find another msieve binary and see how that one works in your environment. Let us know how all of this goes.
WraithX is offline   Reply With Quote
Old 2013-11-09, 14:21   #7
ThomRuley
 
ThomRuley's Avatar
 
May 2003

3·97 Posts
Default

Robert, I started with your suggestion:

Quote:
C:\GGNFS\example>factmsieve.py Nov8.n
-> ________________________________________________________________
-> | Running factmsieve.py, a Python driver for MSIEVE with GGNFS |
-> | sieving support. It is Copyright, 2010, Brian Gladman and is |
-> | a conversion of factmsieve.pl that is Copyright, 2004, Chris |
-> | Monico. Version 0.76 (Python 2.6 or later) 10th Nov 2010. |
-> |______________________________________________________________|
-> This is client 1 of 1
-> Running on 1 Core with 1 hyper-thread per Core
-> Working with NAME = Nov8
-> Error: Polynomial file Nov8.poly does not exist!
-> Found n = 2758382221072303891473724017721005190918080866052086986820596305603
610323043529813765672310629977129.
-> Running polynomial selection ...
-> msieve151 -s .\Nov8.dat -l .\Nov8.log -i .\Nov8.ini -nf .\Nov8.fb -v -np


Msieve v. 1.51 (SVN 845)
Sat Nov 09 09:04:21 2013
random seeds: 030436d0 17b41cfa
factoring 2758382221072303891473724017721005190918080866052086986820596305603610
323043529813765672310629977129 (100 digits)
searching for 15-digit factors
Msieve Error: return value 3221225501. Terminating...
Then I tried what Wraith suggested:
Quote:
C:\GGNFS\example>msieve151 -s./Nov8.dat -l./Nov8.log -i./Nov8.ini -nf./Nov8.fb -
v -np

Msieve v. 1.51 (SVN 845)

usage: msieve151 [options] [one_number]

numbers starting with '0' are treated as octal,
numbers starting with '0x' are treated as hexadecimal

options:
-s <name> save intermediate results to <name>
instead of the default msieve.dat
-l <name> append log information to <name>
instead of the default msieve.log
-i <name> read one or more integers to factor from
<name> (default worktodo.ini) instead of
from the command line
-m manual mode: enter numbers via standard input
-q quiet: do not generate any log information,
only print any factors found
-d <min> deadline: if still sieving after <min>
minutes, shut down gracefully (default off)
-r <num> stop sieving after finding <num> relations
-p run at idle priority
-v verbose: write log information to screen
as well as to logfile
-t <num> use at most <num> threads

elliptic curve options:
-e perform 'deep' ECM, seek factors > 15 digits

quadratic sieve options:
-c client: only perform sieving

number field sieve options:

[nfs_phase] "arguments"

where the first part is one or more of:
-n use the number field sieve (80+ digits only;
performs all NFS tasks in order)
-nf <name> read from / write to NFS factor base file
<name> instead of the default msieve.fb
-np perform only NFS polynomial selection
-np1 perform stage 1 of NFS polynomial selection
-nps perform NFS polynomial size optimization
-npr perform NFS polynomial root optimization
-ns perform only NFS sieving
-nc perform only NFS combining (all phases)
-nc1 perform only NFS filtering
-nc2 perform only NFS linear algebra
-ncr perform only NFS linear algebra, restarting
from a previous checkpoint
-nc3 perform only NFS square root

the arguments are a space-delimited list of:
polynomial selection options:
polydegree=X select polynomials with degree X
min_coeff=X minimum leading coefficient to search
in stage 1
max_coeff=X maximum leading coefficient to search
in stage 1
stage1_norm=X the maximum norm value for stage 1
stage2_norm=X the maximum norm value for stage 2
min_evalue=X the minimum score of saved polyomials
poly_deadline=X stop searching after X seconds (0 means
search forever)
X,Y same as 'min_coeff=X max_coeff=Y'
line sieving options:
X,Y handle sieve lines X to Y inclusive
filtering options:
filter_mem_mb=X try to limit filtering memory use to
X megabytes
filter_maxrels=X limit the filtering to using the first
X relations in the data file
filter_lpbound=X have filtering start by only looking
at ideals of size X or larger
target_density=X attempt to produce a matrix with X
entries per column
X,Y same as 'filter_lpbound=X filter_maxrels=Y'
linear algebra options:
skip_matbuild=1 start the linear algebra but skip building
the matrix (assumes it is built already)
square root options:
X,Y use dependencies X through Y, 1<=X<=Y<=64)

C:\GGNFS\example>msieve151 -s.\Nov8.dat -l.\Nov8.log -i.\Nov8.ini -nf.\Nov8.fb -
v -np

Msieve v. 1.51 (SVN 845)

usage: msieve151 [options] [one_number]

numbers starting with '0' are treated as octal,
numbers starting with '0x' are treated as hexadecimal

options:
-s <name> save intermediate results to <name>
instead of the default msieve.dat
-l <name> append log information to <name>
instead of the default msieve.log
-i <name> read one or more integers to factor from
<name> (default worktodo.ini) instead of
from the command line
-m manual mode: enter numbers via standard input
-q quiet: do not generate any log information,
only print any factors found
-d <min> deadline: if still sieving after <min>
minutes, shut down gracefully (default off)
-r <num> stop sieving after finding <num> relations
-p run at idle priority
-v verbose: write log information to screen
as well as to logfile
-t <num> use at most <num> threads

elliptic curve options:
-e perform 'deep' ECM, seek factors > 15 digits

quadratic sieve options:
-c client: only perform sieving

number field sieve options:

[nfs_phase] "arguments"

where the first part is one or more of:
-n use the number field sieve (80+ digits only;
performs all NFS tasks in order)
-nf <name> read from / write to NFS factor base file
<name> instead of the default msieve.fb
-np perform only NFS polynomial selection
-np1 perform stage 1 of NFS polynomial selection
-nps perform NFS polynomial size optimization
-npr perform NFS polynomial root optimization
-ns perform only NFS sieving
-nc perform only NFS combining (all phases)
-nc1 perform only NFS filtering
-nc2 perform only NFS linear algebra
-ncr perform only NFS linear algebra, restarting
from a previous checkpoint
-nc3 perform only NFS square root

the arguments are a space-delimited list of:
polynomial selection options:
polydegree=X select polynomials with degree X
min_coeff=X minimum leading coefficient to search
in stage 1
max_coeff=X maximum leading coefficient to search
in stage 1
stage1_norm=X the maximum norm value for stage 1
stage2_norm=X the maximum norm value for stage 2
min_evalue=X the minimum score of saved polyomials
poly_deadline=X stop searching after X seconds (0 means
search forever)
X,Y same as 'min_coeff=X max_coeff=Y'
line sieving options:
X,Y handle sieve lines X to Y inclusive
filtering options:
filter_mem_mb=X try to limit filtering memory use to
X megabytes
filter_maxrels=X limit the filtering to using the first
X relations in the data file
filter_lpbound=X have filtering start by only looking
at ideals of size X or larger
target_density=X attempt to produce a matrix with X
entries per column
X,Y same as 'filter_lpbound=X filter_maxrels=Y'
linear algebra options:
skip_matbuild=1 start the linear algebra but skip building
the matrix (assumes it is built already)
square root options:
X,Y use dependencies X through Y, 1<=X<=Y<=64)

C:\GGNFS\example>
Next stop, a different msieve binary?
ThomRuley is offline   Reply With Quote
Old 2013-11-09, 19:52   #8
Robert_JD
 
Robert_JD's Avatar
 
Sep 2010
So Cal

3216 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
Robert, I started with your suggestion:



Then I tried what Wraith suggested:


Next stop, a different msieve binary?
That is about as good as any suggestion so far. Personally, version 1.49 seems to be the most reliable, fast and stable, especially if less than 120 digits.
Robert_JD is offline   Reply With Quote
Old 2013-11-09, 22:57   #9
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

19·257 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
C:\GGNFS\example>msieve151 -s./Nov8.dat -l./Nov8.log -i./Nov8.ini -nf./Nov8.fb -v -np
I think your trouble with the above command line is that there are no spaces between the options and their values. Try to cut and paste these two lines:
Code:
msieve151 -s ./Nov8.dat -l ./Nov8.log -i ./Nov8.ini -nf ./Nov8.fb -v -np
or:
Code:
msieve151 -s Nov8.dat -l Nov8.log -i Nov8.ini -nf Nov8.fb -v -np

Last fiddled with by EdH on 2013-11-09 at 23:08 Reason: clarity
EdH is offline   Reply With Quote
Old 2013-11-10, 03:27   #10
ThomRuley
 
ThomRuley's Avatar
 
May 2003

3·97 Posts
Default

Thanks, Ed

I used your first suggestion in the command line, and it started giving a whole lot of output about i1 scores and too many iterations. Does that mean it's searching for a polynomial to create a matrix for factoring? Am I understanding the overall process correctly?
ThomRuley is offline   Reply With Quote
Old 2013-11-10, 04:41   #11
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

114238 Posts
Default

Quote:
Originally Posted by ThomRuley View Post
Thanks, Ed

I used your first suggestion in the command line, and it started giving a whole lot of output about i1 scores and too many iterations. Does that mean it's searching for a polynomial to create a matrix for factoring? Am I understanding the overall process correctly?
It sounds like it is searching, but you could open a couple files with a text editor to see what they say:

Nov8.log should tell you near the end how long, in CPU time, the search will run.

Nov8.dat.p should show you what polynomials have been found so far.

Also, Readme.nfs has a whole lot of the actual workings in detail.

But, this particular command line exercise was designed to see if the error was due to msieve or an interaction with factmsieve.py, (if I'm reading WraithX's intentions correctly). The next step in that direction would be to find the correct settings and options within factmsieve.py to get it to run properly. Using factmsieve.py will save you a lot of manual work after the polynomial is chosen.

Along that line, you may want to revisit the factmsieve.py script and check some of the options to make sure they match your system. The following come to mind (in addition to GGNFS_PATH and MSIEVE_PATH):

NUM_CORES
THREADS_PER_CORE
USE_CUDA (This particular one is defaulted to True, but if you don't have CUDA, I don't know the result. For all my systems, I set this to False.)

Also note that True and False need to be as shown with a capital first letter to be recognized by Python.

Good luck with it.
EdH is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
factmsieve.py Questions EdH Msieve 3 2016-11-22 17:47
Estimated relations Factmsieve cimpresovec Msieve 21 2016-01-17 15:58
I am new Running Factmsieve i am Stuck please help zukhruf Msieve 2 2015-11-25 12:58
Finding factmsieve.py ThomRuley Msieve 2 2015-06-27 04:23
I am very new to factoring and factmsieve Hailstone Msieve 10 2015-01-08 03:34

All times are UTC. The time now is 23:12.


Wed Sep 28 23:12:25 UTC 2022 up 41 days, 20:40, 0 users, load averages: 4.70, 2.19, 1.48

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

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔