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)

bsquared 2011-11-23 19:08

Ok, should be fixed now: new version 1.29.1 available for download.

This version also includes pre-compiled executables for the Mac, thanks to Mathew Steine. I don't know how portable they are from system to system, hopefully there are no issues. We'll give it a shot, anyway :smile:.

bsquared 2011-11-23 19:19

[QUOTE=LaurV;279557]Same result when trying to use "testrange". What I am doing wrong??[/QUOTE]

What command did you run, exactly? You can quickly run out of memory if you ask it to do something unreasonable... (I realize I haven't defined what that means anywhere)

LaurV 2011-11-24 04:51

Tested. Working!

I saw the improvement on displaying the poly selection on screen too. It is much better.

But I still have some "cosmetic" arguing. At the first sight, there is nothing wrong with the output:

[CODE]
factoring 41112983554452918443523458475642642890068490543928035874029179644605996311093176863763842112739868331704511813
180225289
using pretesting plan: normal

div: primes less than 10000
fmt: 1000000 iterations
rho: x^2 + 3, starting 1000 iterations on C119
rho: x^2 + 2, starting 1000 iterations on C119
rho: x^2 + 1, starting 1000 iterations on C119
pp1: starting B1 = 20K, B2 = gmp-ecm default on C119
pp1: starting B1 = 20K, B2 = gmp-ecm default on C119
pp1: starting B1 = 20K, B2 = gmp-ecm default on C119
pm1: starting B1 = 100K, B2 = gmp-ecm default on C119
ecm: 0/25 curves on C119 input, at B1 = 2K, B2 = gmp-ecm default
ecm: 90/90 curves on C108 input, at B1 = 11K, B2 = gmp-ecm default
ecm: 200/200 curves on C108 input, at B1 = 50K, B2 = gmp-ecm default
pp1: starting B1 = 1250K, B2 = gmp-ecm default on C108
pp1: starting B1 = 1250K, B2 = gmp-ecm default on C108
pp1: starting B1 = 1250K, B2 = gmp-ecm default on C108
pm1: starting B1 = 2500K, B2 = gmp-ecm default on C108
ecm: 26/400 curves on C108 input, at B1 = 250K, B2 = gmp-ecm default
[/CODE]

But if you check the factor found in curve 0/25, this is 453833925593 (from factor.log). Doing the division, you will find that the cofactor has only 107 digits, and not 108. Gotcha! hehe. (version 1.85 is computing it right)

Now you will say "where in the hell this guy find all these examples???". Well, I am a guy difficult to please... :smile:

LaurV 2011-11-24 05:37

1 Attachment(s)
For testrange:

[CODE]
>> testrange(1,10^6,100,10)
ans = 78473
>> primes(1,10^6,1)
ans = 78498
>> testrange(1,10^6,10,10)
[/CODE]Beside of the fact that something is wrong with the first two outputs (the "primes" function should be much stronger for these small numbers, than a sieve with only 25 primes under 100, plus RM test for 10 primes!), so, beside of that, the third line is throwing the exception. It can be reproduced for bigger values of the depth too, it is not related to that 10.

edit: Win32 tested only.
edit2: this command should be called "te-strange" :P
edit3: Romanian version:

lorgix 2011-11-24 09:19

1 Attachment(s)
YAFU called a 34-digit number "PRP35".

I'm using 32k-x64, 1.29.

LaurV 2011-11-24 10:20

@bsquared: Grrrr.... !@#$$%$%#@!@$$! you didn't say anything about compressing nfs.dat! Can we take off this "feature" by a switch or something? Sometimes the electricity fails, or we are forced to shut yafu down without gracefully exiting, and in that case, later on, we can add the dat files to nfs.dat manually, before restarting yafu next time. Is this done automatically in the new version? Otherwise is quite boring and time consuming to unpack the file manually, add relations, pack it back again, grrrrr... (i found out that totalcmd can pack/unpack it, I think you used standard zip/gzip stuff). Pleaaaseee!
I also like to scroll into it to see the progress, and also I can appreciate from its size how long time it will take until there are enough relations generated (roughly dividing the size of file by 100 or 120, the size of a line, in my mind). Now with compression, you took it out from me! I don't mind about the speed of writing the file to disk when is bigger (uncompressed). I have SSD, and for the computers which I have not, I can any time use RamDisk mapping, if I would want to speed it up, but really, it was never necessary!

axn 2011-11-24 10:38

[QUOTE=LaurV;279669]For testrange:

[CODE]
>> testrange(1,10^6,100,10)
ans = 78473
>> primes(1,10^6,1)
ans = 78498
>> testrange(1,10^6,10,10)
[/CODE]
something is wrong with the first two outputs (the "primes" function should be much stronger for these small numbers, than a sieve with only 25 primes under 100, plus RM test for 10 primes!)
[/QUOTE]

So testrange removes the 25 primes < 100 by sieiving them out. Considering that the intent of test range is to sieve arbitrary ranges, it is perfectly fine not to give special check whether the sieve primes are part of the range -- it'd needlessly complicate (slow down) the code for little benefit. Maybe testrange can refuse to run if startrange < primes.
PS:- all the statements about testrange would be applicable to sieverange also.

jasonp 2011-11-24 14:10

Note that gzip'ed files can be concatenated in compressed form and still be unpacked normally, you don't have to unpack them yourself to concatenate. You can remove all use of zlib by using a version of Msieve compiled with NO_ZLIB=1

PS: Ben, do you compute the number of digits in the decimal representation of a number by taking the number of bits and scaling? Msieve used to do that too, but when enough people complained that this was occasionally off by a digit I decided to just print the damn number to a string and measure its size :)

bsquared 2011-11-24 16:56

I think I built msieve with NO_ZLIB for x64 and the linux versions, so you should only be seeing that with Win32, right?

And as for testrange... yeah, what axn said :smile:. only need to use it after primes() runs out of gas (i.e., above 10^18)

BudgieJane 2011-11-25 00:06

[QUOTE=bsquared;279605]Ok, should be fixed now: new version 1.29.1 available for download.[/QUOTE]
I'm running this on both Windows 7 and XP Professional. On Win 7 I do this and it works:

[CODE]C:\Users\JANE\Documents\APLapps\Numbers>..\..\Maths\yafu\yafu-32k-win32


11/24/11 23:54:42 v1.29.1 @ JANELAPTOP2, System/Build Info:
Using GMP-ECM 6.3, Powered by MPIR 2.2.0
detected Intel(R) Core(TM) i5 CPU M 460 @ 2.53GHz
detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
measured cpu frequency ~= 2511.287700

===============================================================
======= Welcome to YAFU (Yet Another Factoring Utility) =======
======= bbuhrow@gmail.com =======
======= Type help at any time, or quit to quit =======
===============================================================
cached 78504 primes. pmax = 1000099


>> factor(11888216261042486297094972223085182841333805331)

factoring 11888216261042486297094972223085182841333805331
using pretesting plan: normal

div: primes less than 10000
fmt: 1000000 iterations
rho: x^2 + 3, starting 1000 iterations on C47
rho: x^2 + 2, starting 1000 iterations on C47
rho: x^2 + 2, starting 1000 iterations on C42
rho: x^2 + 1, starting 1000 iterations on C42

starting SIQS on c42: 503759322896838268447602534983905370623069

==== sieving in progress ( 2 threads): 896 relations needed ====
==== Press ctrl-c to abort and save state ====


SIQS elapsed time = 0.0830 seconds.
Total factoring time = 0.1730 seconds


***factors found***

P5 = 23599
PRP16 = 2579714307420389
PRP19 = 1014053243970233449
PRP9 = 192570929

ans = 1

>>[/CODE]

On Win XP it crashes:

[CODE]C:\Documents and Settings\Jane\My Documents\APLapps\Numbers>..\..\Maths\yafu\yafu-32k-win32


11/24/11 23:51:44 v1.29.1 @ JANE2, System/Build Info:
Using GMP-ECM 6.3, Powered by MPIR 2.2.0
detected Intel(R) Pentium(R) 4 CPU 3.00GHz
detected L1 = 16384 bytes, L2 = 2097152 bytes, CL = 64 bytes
measured cpu frequency ~= 3080.819400

===============================================================
======= Welcome to YAFU (Yet Another Factoring Utility) =======
======= bbuhrow@gmail.com =======
======= Type help at any time, or quit to quit =======
===============================================================
cached 78504 primes. pmax = 1000099


>> factor(11888216261042486297094972223085182841333805331)

factoring 11888216261042486297094972223085182841333805331
using pretesting plan: normal

div: primes less than 10000
fmt: 1000000 iterations
rho: x^2 + 3, starting 1000 iterations on C47
rho: x^2 + 2, starting 1000 iterations on C47
rho: x^2 + 2, starting 1000 iterations on C42
rho: x^2 + 1, starting 1000 iterations on C42
pp1: starting B1 = 20K, B2 = gmp-ecm default on C42

C:\Documents and Settings\Jane\My Documents\APLapps\Numbers>[/CODE]

Apart from the tune_info and threads lines, yafu.ini is the same in both cases.

[CODE]B1pm1=100000
B1pp1=20000
B1ecm=11000
rhomax=1000
threads=2
ggnfs_dir=..\..\Maths\ggnfs\[/CODE]

It seems strange that it appears to go into pp1 on XP but not on Win7.

What, if anything, am I doing wrong?

Random Poster 2011-11-26 10:19

[QUOTE=bsquared;279605]This version also includes pre-compiled executables for the Mac, thanks to Mathew Steine. I don't know how portable they are from system to system, hopefully there are no issues. We'll give it a shot, anyway :smile:.[/QUOTE]
My understanding is that if an application runs on one Mac, it will run on every Mac.

How about supporting 32-bit Linux? Or at least detecting 32-bit Linux? The last time I tried to compile Yafu, gcc tried to feed 64-bit inline asm to 32-bit assembler.


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

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