mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   YAFU (https://www.mersenneforum.org/forumdisplay.php?f=96)
-   -   Yafu (https://www.mersenneforum.org/showthread.php?t=10871)

Jeff Gilchrist 2012-01-09 19:10

Quick and hopefully simple question.

Is there a way to get YAFU to print out the current status of completing a SIQS to stdout? Right now it shows the ecm # current/# total curves while doing factor() and when SIQS sieving starts it shows the number of relations needed but it doesn't show the current progress.

I have tried using:
v=1

In the yafu.ini file which gives more information but does not print out the sieving progress. Is there anything I can put in the .ini file to do this?

Thanks.

bsquared 2012-01-09 19:20

[QUOTE=Jeff Gilchrist;285586]Quick and hopefully simple question.

Is there a way to get YAFU to print out the current status of completing a SIQS to stdout? Right now it shows the ecm # current/# total curves while doing factor() and when SIQS sieving starts it shows the number of relations needed but it doesn't show the current progress.
[/QUOTE]

It shows the number of relations found as well as the number needed. Relations found is a measure of progress, no?

Or is it the fact that these status updates are continuously overwritten on stdout that is the issue?

[CODE]div: primes less than 10000
fmt: 1000000 iterations
rho: x^2 + 3, starting 1000 iterations on C77
rho: x^2 + 2, starting 1000 iterations on C77
rho: x^2 + 1, starting 1000 iterations on C77
pp1: starting B1 = 20K, B2 = gmp-ecm default on C77
pp1: starting B1 = 20K, B2 = gmp-ecm default on C77
pp1: starting B1 = 20K, B2 = gmp-ecm default on C77
pm1: starting B1 = 100K, B2 = gmp-ecm default on C77
ecm: 30/30 curves on C77 input, at B1 = 2K, B2 = gmp-ecm default
ecm: 74/74 curves on C77 input, at B1 = 11K, B2 = gmp-ecm default
ecm: 149/149 curves on C77 input, at B1 = 50K, B2 = gmp-ecm default
starting SIQS on c77: 59142139595307917565744428892760192088258907099173376426677653705298440582163
==== sieving in progress (1 thread): [B][COLOR=blue]36224[/COLOR][/B] relations needed ====
==== Press ctrl-c to abort and save state ====
[B][COLOR=blue]6765 rels found[/COLOR][/B]: 5218 full + 1547 from 52625 partial, (1838.54 rels/sec)
[/CODE]

Jeff Gilchrist 2012-01-09 20:13

[QUOTE=bsquared;285588]It shows the number of relations found as well as the number needed. Relations found is a measure of progress, no?

[CODE]
==== sieving in progress (1 thread): [B][COLOR=blue]36224[/COLOR][/B] relations needed ====
==== Press ctrl-c to abort and save state ====
[B][COLOR=blue]6765 rels found[/COLOR][/B]: 5218 full + 1547 from 52625 partial, (1838.54 rels/sec)
[/CODE][/QUOTE]

That is the part I'm missing, using your 64bit Windows binary with 32k window size, I only get this out:

[CODE]==== sieving in progress (1 thread): 55664 relations needed ====
==== Press ctrl-c to abort and save state ====
[/CODE]

And nothing, the cursor blinks with no info, until the SIQS completes and then spits out:

[CODE]55696 rels found: 23402 full + 32294 from 395772 partial, (751.61 rels/sec)

sieving required 196189 total polynomials
trial division touched 4979382 sieve locations out of 154289307648
squfof: 0 failures, 144365 attempts, 1471466 outside range, 1002003 prp, 140046
useful
QS elapsed time = 557.7079 seconds.[/CODE]

I see now that if I just run that manually in a command prompt, I can see the relation count, so it must be the script that I'm calling it from that is hiding the output when it gets to that stage.

Jeff.

pinhodecarlos 2012-01-09 20:14

Jeff,

What about using the -v flag?

EdH 2012-01-09 20:19

I believe I remember the same results as Jeff describes when running yoyo's script. I can't say for sure whether it was with 32-bit or 64-bit. I just noticed it a couple times, but didn't pursue it. I will try to be more observant if more info is needed.

Jeff Gilchrist 2012-01-09 20:22

[QUOTE=EdH;285603]I believe I remember the same results as Jeff describes when running yoyo's script. I can't say for sure whether it was with 32-bit or 64-bit. I just noticed it a couple times, but didn't pursue it. I will try to be more observant if more info is needed.[/QUOTE]

Yes, it is his script or a derivation of that which I am running (this one [URL="http://www.mersenneforum.org/showpost.php?p=285073&postcount=65"]here[/URL]). I'm not a perl person so can't easily see what might be blocking that particular information from being printed compared to everything else. Maybe the lack of carriage return prevents the line from being displayed through the script and when it finished and a CR finally gets pushed, everything gets displayed at once?

Jeff.

bsquared 2012-01-09 20:24

[QUOTE=Jeff Gilchrist;285601]That is the part I'm missing, using your 64bit Windows binary with 32k window size, I only get this out:

[CODE]==== sieving in progress (1 thread): 55664 relations needed ====
==== Press ctrl-c to abort and save state ====
[/CODE]

[/QUOTE]

Ah, ok. If it is the script that is stripping the output then the question becomes: why? Is there some other form of output that would be more useful or easier to deal with so that it doesn't have to be stripped out?

As long as it isn't too much work I'm more than willing to add options to make other people's lives easier.

EdH 2012-01-09 20:31

Probably not actually useful at this point, but I found an example:

This is a Pentium 4, 1.3GHz, 32-bit, running Ubuntu 11.04:
[code]
get composites
Factoring 84 digits: 214415021669481705782805352806595071755021861655460353384903945736526050732176217493


factoring 214415021669481705782805352806595071755021861655460353384903945736526050732176217493

div: primes less than 10000
fmt: 1000000 iterations
rho: x^2 + 1, starting 1000 iterations on C84
rho: x^2 + 3, starting 1000 iterations on C84
rho: x^2 + 2, starting 1000 iterations on C84
pp1: starting B1 = 20K, B2 = 2M on C84, processed < 2000003
pp1: starting B1 = 20K, B2 = 2M on C84, processed < 2000003
pp1: starting B1 = 20K, B2 = 2M on C84, processed < 2000003
pm1: starting B1 = 100K, B2 = 10M on C84, processed < 10000019
ecm: 25 curves on C84 input, at B1 = 2K, B2 = 200K
ecm: 90 curves on C84 input, at B1 = 11K, B2 = 1100K
ecm: 185 curves on C84 input, at B1 = 50K, B2 = 5M
pp1: starting B1 = 200K, B2 = 20M on C84, processed < 20000003
pp1: starting B1 = 200K, B2 = 20M on C84, processed < 20000003
pp1: starting B1 = 200K, B2 = 20M on C84, processed < 20000003
pm1: starting B1 = 1M, B2 = 100M on C84, processed < 100000007
ecm: 2 curves on C84 input, at B1 = 250K, B2 = 25M
pp1: starting B1 = 2M, B2 = 200M on C84, processed < 200000033

starting SIQS on c84: 214415021669481705782805352806595071755021861655460353384903945736526050732176217493

==== sieving in progress (1 thread): 52136 relations needed ====
==== Press ctrl-c to abort and save state ====
[/code]Here's YAFU's intro:
[code]
01/09/12 15:23:30 v1.21 @ math05, System/Build Info:
detected Intel(R) Pentium(R) 4 CPU 1300MHz
detected L1 = 8192 bytes, L2 = 262144 bytes, CL = 64 bytes
measured cpu frequency ~= 1297.945120

===============================================================
======= Welcome to YAFU (Yet Another Factoring Utility) =======
======= bbuhrow@gmail.com =======
======= Type help at any time, or quit to quit =======
===============================================================
cached 78504 primes. pmax = 0
[/code]Maybe yoyo can add something...

EdH 2012-01-09 20:36

I'm thinking the problem is in the overwrite that is taking place to keep from scrolling all the relations off the screen. As Jeff says, it's probably something about the lack of linefeed. (Or, maybe CRLF) I remember having troubles like this, not displaying text until the final CRLF, in other programming a while back. Unfortunately, I don't know of a resolution.

yoyo 2012-01-09 20:36

The Perl script runs a "while" arround the yafu output. In this loop the output is pased for found prp or composites. But the "while" is always line based. So it waits until the end of line to run in the next loop. But the end of line is printed by yafu at only at the end and not during e.g. each ecm curver or each siqs step.

I don't know of an easy implementation to make a different loop in Perl.

Implementing with some yafu option an end of line for every step will also print much more output on the screen. Don't know if this is really what is wanted.

yoyo

c10ck3r 2012-01-10 02:45

Hey, I have another (potentially stupid) question about yafu. I've been running yafu on a C114 for the past two days to no avail. It has done the TFing, ECM (through the point where it assigned 1 curve of B1=1 Billion (American numerology)), pp1, pm1, and rho=x^2 + 1,2,3. It now has switched to SIQS after saying "WARNING: could not find .\gnfs-lasieve4I13e.exe, reverting to siqs!", and has been running Bpoly to 4096 several times and once to 8192.
My question is: How long/how many times is this expected to go on. I'm using a P4 3.2GHz cpu to run it and its doing about 4.5 rels/sec. Thanks in advance!


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

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