![]() |
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 |
[QUOTE=ThomRuley;358792]
-> 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[/QUOTE] 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. |
It's doing things now.
Thanks |
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>[/QUOTE] This happened twice. |
[QUOTE=ThomRuley;358804]By doing things, I meant it was busy creating an error message:
This happened twice.[/QUOTE] 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\\' |
[QUOTE=ThomRuley;358804]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.[/QUOTE] 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. |
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... [/QUOTE] 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>[/QUOTE] Next stop, a different msieve binary? |
[QUOTE=ThomRuley;358844]Robert, I started with your suggestion:
Then I tried what Wraith suggested: Next stop, a different msieve binary?[/QUOTE] 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. :smile: |
[QUOTE=ThomRuley;358844]C:\GGNFS\example>msieve151 -s./Nov8.dat -l./Nov8.log -i./Nov8.ini -nf./Nov8.fb -v -np[/QUOTE]
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 [/code]or: [code] msieve151 -s Nov8.dat -l Nov8.log -i Nov8.ini -nf Nov8.fb -v -np [/code] |
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? |
[QUOTE=ThomRuley;358896]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?[/QUOTE]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. |
| All times are UTC. The time now is 01:19. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.