![]() |
[QUOTE=thyrex;606834]But I see "unsupported 16-bit application" in header of dialog error window. And size of .exe is around 125Kb only. File with 2.07 version has size above 2Mb[/QUOTE]Maybe your download failed. The file available at [url]https://github.com/bbuhrow/yafu/blob/master/bin/x64/Release/yafu-x64.exe[/url] is (currently) 2,582,528 bytes.
|
When I try to build yafu under Ubuntu with [C]make NFS=1 USE_SSE41=1 USE_AVX=1[/C] it quits with:
[CODE]gcc -g -m64 -DUSE_SSE2 -DUSE_AVX2 -DUSE_SSE41 -mavx2 -DUSE_SSE41 -msse4.1 -DUSE_NFS -O2 -fomit-frame-pointer -Wall -I. -Iinclude -Itop/aprcl -Itop/cmdParser -Itop/ -I../ysieve -I../ytools -I/usr/local/include -I../msieve/zlib top/driver.o top/test.o factor/tune.o factor/autofactor.o top/cmdParser/cmdOptions.o top/cmdParser/calc.o -o yafu -lysiqs -lyecm -lynfs -L. -L../ysieve -L../ytools -L/usr/local/include -L../msieve/ -lmsieve -lecm /usr/lib/x86_64-linux-gnu/libgmp.a -lytools -lysieve -lpthread -lm -ldl /usr/bin/ld: ./libysiqs.a(SIQS.o): in function `siqs_static_init': /home/bur/Math/yafu/factor/qs/SIQS.c:2309: undefined reference to `nextRoots_32k_avx2_intrin' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_open': savefile.c:(.text+0x142): undefined reference to `gzopen64' /usr/bin/ld: savefile.c:(.text+0x266): undefined reference to `gzopen64' /usr/bin/ld: savefile.c:(.text+0x2a1): undefined reference to `gzopen64' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_close': savefile.c:(.text+0x341): undefined reference to `gzclose' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_write_line': savefile.c:(.text+0x461): undefined reference to `gzputs' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_flush': savefile.c:(.text+0x4e4): undefined reference to `gzputs' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_eof': savefile.c:(.text+0x371): undefined reference to `gzeof' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_read_line': savefile.c:(.text+0x3f0): undefined reference to `gzgets' /usr/bin/ld: ../msieve//libmsieve.a(savefile.o): in function `savefile_rewind': savefile.c:(.text+0x521): undefined reference to `gzrewind' collect2: error: ld returned 1 exit status make: *** [Makefile:368: yafu] Error 1[/CODE] Omitting the [C]USE_AVX2=1[/C] flag, then it builds successfully. |
I've got another of those "it won't factor it" jobbies in Yafu 2.08. For some reason it won't go into QS/SIQS.
[CODE] 06/20/22 16:15:39, 06/20/22 16:15:39, **************************** 06/20/22 16:15:39, Starting factorization of 7036874796802706717792076127030118075734377553821445738998743574873144601450291676951142421607390370359561 06/20/22 16:15:39, using pretesting plan: deep 06/20/22 16:15:39, using tune info for qs/gnfs crossover 06/20/22 16:15:39, **************************** 06/20/22 16:15:39, div: found prime factor = 137 06/20/22 16:15:39, div: found prime factor = 433 06/20/22 16:15:39, rho: x^2 + 3, starting 1000 iterations on C102 06/20/22 16:15:39, rho: x^2 + 2, starting 1000 iterations on C102 06/20/22 16:15:39, rho: x^2 + 1, starting 1000 iterations on C102 06/20/22 16:15:39, pm1: starting B1 = 150K, B2 = gmp-ecm default on C102 06/20/22 16:15:39, current ECM pretesting depth: 0.00 06/20/22 16:15:39, scheduled 30 curves at B1=2000 toward target pretesting depth of 34.00 06/20/22 16:15:39, ecm: commencing 32 curves using AVX-ECM method on 118623671158657249840563647393505134366149888805337835488254472697242875228844619560545884621085119441, B1=2k, B2=200k 06/20/22 16:15:39, ecm: finished 32 curves using AVX-ECM method on C102 input, B1=2k, B2=200k 06/20/22 16:15:39, current ECM pretesting depth: 15.19 06/20/22 16:15:39, scheduled 74 curves at B1=11000 toward target pretesting depth of 34.00 06/20/22 16:15:41, Finished 74 curves using GMP-ECM method on C102 input, B1=11k, B2=gmp-ecm default 06/20/22 16:15:41, current ECM pretesting depth: 20.24 06/20/22 16:15:41, scheduled 214 curves at B1=50000 toward target pretesting depth of 34.00 06/20/22 16:15:52, Finished 214 curves using GMP-ECM method on C102 input, B1=50k, B2=gmp-ecm default 06/20/22 16:15:52, pm1: starting B1 = 3750K, B2 = gmp-ecm default on C102 06/20/22 16:15:53, current ECM pretesting depth: 25.33 06/20/22 16:15:53, scheduled 430 curves at B1=250000 toward target pretesting depth of 34.00 06/20/22 16:17:25, Finished 430 curves using GMP-ECM method on C102 input, B1=250k, B2=gmp-ecm default 06/20/22 16:17:25, pm1: starting B1 = 15M, B2 = gmp-ecm default on C102 06/20/22 16:17:28, current ECM pretesting depth: 30.45 06/20/22 16:17:28, scheduled 643 curves at B1=1000000 toward target pretesting depth of 34.00 06/20/22 16:28:35, Finished 643 curves using GMP-ECM method on C102 input, B1=1M, B2=gmp-ecm default 06/20/22 16:28:35, final ECM pretested depth: 34.01 06/20/22 16:28:35, c102 cofactor = 118623671158657249840563647393505134366149888805337835488254472697242875228844619560545884621085119441 06/20/22 16:28:35, Total factoring time = 776.2737 seconds [/CODE] I thought this was fixed. |
The next stage for this number must to be GNFS
|
No, a C102 can easily be solved by QS. It's not the ideal method, but shouldn't be more than 2-3x slower than GNFS.
|
[QUOTE=thyrex;608258]The next stage for this number must to be GNFS[/QUOTE]
According to tune_info the crossover point is 112: [CODE]tune_info=11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz,WIN64,8.83142e-06,0.197336,12.9645,0.0695818,111.146,42[/CODE] |
Why does YAFU (observed in both 1.34 and 2.07) like to do a bit more ECM when you've told it that the target amount of ECM has already been done?[quote]Starting factorization of 2251614550234055854784964846511840271248417541830029305669098830420329426567781418202670939759934333698412447
using pretesting plan: deep using specified qs/gnfs crossover of 100 digits using specified qs/snfs crossover of 75 digits [color=green]input indicated to have been pretested to t36.33[/color] **************************** [color=green]current ECM pretesting depth: 36.33[/color] [color=red]scheduled 379 curves at B1=32765 toward target pretesting depth of 36.33[/color] rho: x^2 + 3, starting 1000 iterations on C109 rho: x^2 + 2, starting 1000 iterations on C109 rho: x^2 + 1, starting 1000 iterations on C109 [color=green]current ECM pretesting depth: 36.33[/color] [color=red]scheduled 382 curves at B1=3000000 toward target pretesting depth of 36.33[/color] Finished 382 curves using GMP-ECM method on C109 input, B1=3M, B2=gmp-ecm default [color=red]final ECM pretested depth: 37.14[/color][/quote] |
A bug in special form detection
Yafu (the executable from Github), when run on "101^101+2", first finds the special form, then claims it can't find it. [CODE]nfs: searching for brent special forms...
nfs: input divides 101^101 + 2 nfs: searching for homogeneous cunningham special forms... nfs: searching for XYYXF special forms... nfs: searching for direct special forms... nfs: snfs form detection took 0.365021 seconds nfs: couldn't find special form[/CODE]And indeed, if I tell it to skip ECM ("-work 60" in command line), it proceeds to GNFS (instead of SNFS). |
crash with threads>1 on Fermat numbers
With threads=3, YAFU crashes on both 2^256+1 and 2^512+1 somewhere in ECM.
With threads=1, factorization of 2^256+1 succeeds. I have no patience to wait for 2^512+1, but probably OS: Windows 7, AVX2-capable hardware, YAFU executable from Github. |
[QUOTE=James Heinrich;609203]Why does YAFU (observed in both 1.34 and 2.07) like to do a bit more ECM when you've told it that the target amount of ECM has already been done?[/QUOTE]
When you tell it you've done a depth of 36.33 your input is interpreted as 36.3300000... When yafu says [CODE]scheduled 379 curves at B1=32765 toward target pretesting depth of 36.33[/CODE] could that 36.33 really represent a number rounded down to 36.33, e.g. 36.334...? What happens if you tell yafu that input has been pretested to t36.34? |
Yeah, it is a significant digits related issue, printed here with more precision enabled:
[CODE]07/13/22 10:24:25, input indicated to have been pretested to t36.33 07/13/22 10:24:25, **************************** 07/13/22 10:24:25, current ECM pretesting depth: 36.330000000000 07/13/22 10:24:25, scheduled 379 curves at B1=0 toward target pretesting depth of 36.330000000000 07/13/22 10:24:25, rho: x^2 + 3, starting 1000 iterations on C109 07/13/22 10:24:25, rho: x^2 + 2, starting 1000 iterations on C109 07/13/22 10:24:25, rho: x^2 + 1, starting 1000 iterations on C109 07/13/22 10:24:25, current ECM pretesting depth: 36.331171089718 07/13/22 10:24:25, scheduled 382 curves at B1=3000000 toward target pretesting depth of 36.333333333333 [/CODE] So it really wants to get to 36.3333333333 and you've only indicated you've performed up to 36.33 :razz: Putting in -work 36.34 causes it to skip ecm as now the threshold is exceeded. I hope that's acceptable as a work around? |
All times are UTC. The time now is 19:20. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.