mersenneforum.org > YAFU Featured request
 Register FAQ Search Today's Posts Mark Forums Read

2012-04-23, 08:15   #45
Dubslow

"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

160658 Posts

Quote:
 Originally Posted by schickel As a workaround on Windows, you could try making a batch file with the switches you desire and then put the batch file as the yafu command. Example: Code: yafu_cmd = YAFUBAT YAFUBAT.bat: Code: yafu_path\yafu -v %1 (Of course, I haven't looked at exactly how aliqueit.exe passes the arguments to the particular factoring program......but above I'm assuming that the argument is passed on the command line, therefore the batch file passes its first parameter to YAFU.)
Based on my own experiments, I'd guess it's just "$(yafu cmd) factor(num)", so that ought to work fine.  2012-04-23, 08:24 #46 10metreh Nov 2008 91216 Posts Or add a line "v=1" to yafu.ini. That works for other switches too. 2012-04-23, 08:54 #47 schickel "Frank <^>" Dec 2004 CDP Janesville 212210 Posts Quote:  Originally Posted by 10metreh Or add a line "v=1" to yafu.ini. That works for other switches too. I forgot about that method....  2012-06-03, 03:51 #48 Mathew Nov 2009 35010 Posts Doing the following: (On Linux) Code: yafu "factor(@)" -batchfile numbers.txt -logfile factors.txt Upon resuming this, if a number was already in the nfs stage. yafu will do the ecm stages again and then resume the nfs portion. Would it be possible for yafu to check if sieving has already begun, and continue from there? 2012-06-03, 03:57 #49 Dubslow Basketry That Evening! "Bunslow the Bold" Jun 2011 40<A<43 -89<O<-88 722110 Posts Quote:  Originally Posted by Mathew Doing the following: (On Linux) Code: yafu "factor(@)" -batchfile numbers.txt -logfile factors.txt Upon resuming this, if a number was already in the nfs stage. yafu will do the ecm stages again and then resume the nfs portion. Would it be possible for yafu to check if sieving has already begun, and continue from there? Adding -R to factor() was on my list of four, now three things. 2012-06-03, 19:29 #50 Dubslow Basketry That Evening! "Bunslow the Bold" Jun 2011 40<A<43 -89<O<-88 3·29·83 Posts Quote:  Originally Posted by Dubslow Adding -R to factor() was on my list of four, now three things. Here's another one: When I do "yafu nfs(num) -ns -v -R", it doesn't read any of the rels I've already collected. I have to remove the -ns to do that, even though I only want to do sieving. Even removing -ns, it didn't get the last special-q right for some reason. Code: syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 16839991 -c 80000 -o rels0.dat total yield: 234295, q=16919999 (0.11644 sec/rel) found 5586247 relations, need at least 44869961, continuing with sieving ... nfs: commencing algebraic side lattice sieving over range: 16919991 - 16999991 syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 16919991 -c 80000 -o rels0.dat total yield: 237559, q=16999999 (0.11710 sec/rel) found 5823806 relations, need at least 44869961, continuing with sieving ... nfs: commencing algebraic side lattice sieving over range: 16999991 - 17079991 syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 16999991 -c 80000 -o rels0.dat total yield: 235023, q=17079991 (0.11661 sec/rel) found 6058829 relations, need at least 44869961, continuing with sieving ... nfs: commencing algebraic side lattice sieving over range: 17079991 - 17159991 syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 17079991 -c 80000 -o rels0.dat ^C Received signal 2... please wait ***factors found*** ***co-factor*** C158 = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501 bill@Gravemind:~/yafu∰∂ yafu "nfs("$(cat num)")" -ns -v -R

>> nfs: checking for job file - input from file = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
input to yafu = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
input matches with multiple of 1
number in job file matches input
nfs: checking for data file
nfs: commencing NFS restart
nfs: previous data file found - skipping search for last special-q
nfs: commencing gnfs on c158: 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
nfs: continuing with sieving - could not determine last special q; using default startq
nfs: commencing algebraic side lattice sieving over range: 15000000 - 15080000
syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 15000000 -c 80000 -o rels0.dat
^C

***factors found***

***co-factor***
C158 = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
bill@Gravemind:~/yafu∰∂ yafu "nfs("\$(cat num)")" -v -R

>> nfs: checking for job file - input from file = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
input to yafu = 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
input matches with multiple of 1
number in job file matches input
nfs: checking for data file
nfs: commencing NFS restart
nfs: previous data file found - commencing search for last special-q
line 0 = 65317652167,11757:13100167,55fd,5e319,ddce1,9a3:10901cbf,20cb727,b477,af12f,fd6df,244589,71941f,3f3d,e61a37

line 1 = -123540995087,13179:8b3661b,5ee27d7,235081,244813:2a07931,fd4783b,ab71,18050f,6abf07,d50535,1693,e61a37

line 2 = 22014271849,15437:19bd8bef,7957,e4943,32e979,923:15eaa3d5,10ced99,123cb,45e23,889667,e1b0dd,a97,32a7,e61a37

line 3 = 168247715561,16159:3552ed5,e161,16ac35,12ff209,196b871:f8f135,682ed55,e431,15265,1fae3,5c4f5,2d34f9,2f57,419,e61a37

nfs: parsing special-q
parsing rat side spq from 65317652167,11757:13100167,55fd,5e319,ddce1,9a3:10901cbf,20cb727,b477,af12f,fd6df,244589,71941f,3f3d,e61a37

found 9a3
parsing alg side spq from 65317652167,11757:13100167,55fd,5e319,ddce1,9a3:10901cbf,20cb727,b477,af12f,fd6df,244589,71941f,3f3d,e61a37

found e61a37
parsing rat side spq from -123540995087,13179:8b3661b,5ee27d7,235081,244813:2a07931,fd4783b,ab71,18050f,6abf07,d50535,1693,e61a37

found 244813
parsing alg side spq from -123540995087,13179:8b3661b,5ee27d7,235081,244813:2a07931,fd4783b,ab71,18050f,6abf07,d50535,1693,e61a37

found e61a37
parsing rat side spq from 22014271849,15437:19bd8bef,7957,e4943,32e979,923:15eaa3d5,10ced99,123cb,45e23,889667,e1b0dd,a97,32a7,e61a37

found 923
parsing alg side spq from 22014271849,15437:19bd8bef,7957,e4943,32e979,923:15eaa3d5,10ced99,123cb,45e23,889667,e1b0dd,a97,32a7,e61a37

found e61a37
nfs: commencing gnfs on c158: 34473140218538108783457767847160803005570403677190199323501471286696391707357183201882067234295472747361321855598229568051445043790754713420994112701235355501
nfs: found 6378099 relations, continuing job at specialq = 15079991
found 6378099 relations, need at least 44869961, continuing with sieving ...
nfs: commencing algebraic side lattice sieving over range: 15079991 - 15159991
syscmd: ./ggnfs/gnfs-lasieve4I15e -a nfs.job -f 15079991 -c 80000 -o rels0.dat
/* Should be north of 17M ^ */

2012-06-04, 01:48   #51
bsquared

"Ben"
Feb 2007

374910 Posts

Quote:
 Originally Posted by Mathew Doing the following: (On Linux) Code: yafu "factor(@)" -batchfile numbers.txt -logfile factors.txt Upon resuming this, if a number was already in the nfs stage. yafu will do the ecm stages again and then resume the nfs portion. Would it be possible for yafu to check if sieving has already begun, and continue from there?
Possible, yes. I'll have to look into how difficult it will be. Detecting an in-progress nfs job is quite a bit more involved because of the multiple stages and files to check. I'll have to see if the routine I wrote to do all that parsing/checking can be ported over to factor().

2012-06-04, 02:03   #52
bsquared

"Ben"
Feb 2007

374910 Posts

Quote:
 Originally Posted by Dubslow Here's another one: When I do "yafu nfs(num) -ns -v -R", it doesn't read any of the rels I've already collected. I have to remove the -ns to do that, even though I only want to do sieving. Even removing -ns, it didn't get the last special-q right for some reason.
There are several things going on here. First, there is a bug if -ns is used without arguments. In that case it is supposed to check the .dat file for the last special-q, but it didn't. So instead it uses some default value to start at.

Second, the resume feature is not foolproof - it will not parse every single line of the .dat file to try to find the biggest special-q yet seen. (I wanted to keep resume setup time reasonable.) Instead, it will scan the last couple of relations and figure out the last special-q from those. Because of the previously mentioned bug, you did a tiny amount of sieving at a smaller special-q, and those relations are what yafu used to determine the last SQ (they were the last ones in the file at that point).

Possible workaround for now: do a tiny amount of manual sieving at the larger SQ that you previously stopped at, so that those relations are last in the file. Then resume with -R. I wouldn't recommend using -ns without arguments until I can get that fixed. At least, if you plan on stopping/resuming. If you are going to run all the way through the sieving then it should work fine with just -ns.

hope that helps - and thanks for the feedback.

2012-06-04, 02:12   #53
Dubslow

"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

722110 Posts

Quote:
 Originally Posted by bsquared There are several things going on here. First, there is a bug if -ns is used without arguments. In that case it is supposed to check the .dat file for the last special-q, but it didn't. So instead it uses some default value to start at. Second, the resume feature is not foolproof - it will not parse every single line of the .dat file to try to find the biggest special-q yet seen. (I wanted to keep resume setup time reasonable.) Instead, it will scan the last couple of relations and figure out the last special-q from those. Because of the previously mentioned bug, you did a tiny amount of sieving at a smaller special-q, and those relations are what yafu used to determine the last SQ (they were the last ones in the file at that point). Possible workaround for now: do a tiny amount of manual sieving at the larger SQ that you previously stopped at, so that those relations are last in the file. Then resume with -R. I wouldn't recommend using -ns without arguments until I can get that fixed. At least, if you plan on stopping/resuming. If you are going to run all the way through the sieving then it should work fine with just -ns. hope that helps - and thanks for the feedback.
Sure, thanks.

Perhaps check a the last few hundred rels, or like check the 100th-to-last, 50th-to-last, 10th-to-last, etc?

 2012-06-05, 02:28 #54 swellman     Jun 2012 2·19·103 Posts First post on the forum. Just want to say how great YAFU is. I've been using it since last fall after I started contributing to the xyyx project. YAFU is n00b friendly and it gets better with each release. I want to second a motion raised elsewhere in this sub forum - please fix the estimated number of relations required before filtering is attempted. It's off quite a bit. Most of the factorizations I'm working are LP of 29 bits so I need ~43M relations, but YAFU starts to attempt filtering at 26M relations. Wastes a good chunk of time repeatedly filtering so prematurely. But all else works great for me. Keep up the great work!
 2012-06-06, 01:56 #55 LaurV Romulan Interpreter     "name field" Jun 2011 Thailand 5·112·17 Posts Have you tried "-ns start stop" ? You can force yafu to sieve a whole range of q's before filtering. (see doc file). (edit: this does not mean I'm not seconding/thirding you with the motion. Some "light"/"deep" plan for sieving at least (same as for ecm) should be welcomed anytime!) Last fiddled with by LaurV on 2012-06-06 at 02:00

 Similar Threads Thread Thread Starter Forum Replies Last Post ET_ Programming 0 2018-11-01 14:57 Dubslow YAFU 4 2012-03-31 03:07 Xyzzy Lounge 23 2011-03-08 17:50 ixfd64 Software 10 2010-05-31 15:21 rogue GMP-ECM 4 2009-11-23 15:07

All times are UTC. The time now is 22:05.

Fri Mar 31 22:05:45 UTC 2023 up 225 days, 19:34, 0 users, load averages: 0.98, 0.88, 0.86