![]() |
![]() |
#1 |
"Ben"
Feb 2007
22×941 Posts |
![]()
It has been so long since a new windows executable and trunk code update have been released that I thought I might as well bump the version number to 2.
Also significant: the official home of yafu is no longer on sourceforge. I decided to move all new development here: https://github.com/bbuhrow/yafu One of the reasons why there hasn't been a new windows exe or trunk code release in a while is that I have been continually tinkering with things, usually with new instruction set extensions or wild ideas. This tinkering invariably seems to break stuff, and I didn't want that kind of churn in the main download. I have been putting in a ton of work lately to try to get things back to stability and at the same time capture much of the new development. If you have read this far, the takeaway should be: stuff is probably still broken here and there. Please let me know if you find something wrong - yafu is pretty much in perpetual beta status. Here are a few of the major updates: * years worth of bugfixes and updates previously found in /branches/yafu-wip on sourceforge * separated out yafu's sieve of Eratosthenes to a new project: https://github.com/bbuhrow/ysieve. This will have to be built prior to yafu (similar to other dependencies like gmp) * separated out a lot of tool-like things that I find myself re-using on other projects: https://github.com/bbuhrow/ytools. This will have to be built prior to yafu (similar to other dependencies like gmp) * A lot of performance improvement from new AVX512 instruction set extensions, including AVX-ECM * yafu.ini now also documents the options available * newer builds of msieve, gmp, and gmp-ecm included in the windows exe Happy factoring! |
![]() |
![]() |
![]() |
#2 |
"Ben"
Feb 2007
EB416 Posts |
![]()
Note, AVX-ECM is not a dependency of yafu. It is a standalone project here with its own thread here; a copy of the source is also in yafu.
My github page also has a few other minor repositories, if anyone is interested. These are: * A C-language arbitrary precision integer calculator based on yafu's calculator: https://github.com/bbuhrow/ycalc * A C-language input parser based on yafu's parser: https://github.com/bbuhrow/cmdParser * yafu's tinyecm code: https://github.com/bbuhrow/tiny-ecm |
![]() |
![]() |
![]() |
#3 |
"Ed Hall"
Dec 2009
Adirondack Mtns
5×1,103 Posts |
![]()
This all sounds great, but I'm wondering if it means I'll need to change all my "How I..." threads that reference YAFU ASAP, or if the sourceforge set will still be available for a while (and I can procrastinate).
|
![]() |
![]() |
![]() |
#4 |
"Ben"
Feb 2007
22×941 Posts |
![]()
The stuff on sourceforge is not going anywhere, so no need to do anything quickly. Actually probably best not to do anything until all of the kinks have been worked out of this new thing.
|
![]() |
![]() |
![]() |
#5 |
Apr 2020
22·3·5·17 Posts |
![]()
I'm getting a segfault when attempting tune(), on both windows and linux:
Code:
=============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= [email address redacted] ======= ======= Type help at any time, or quit to quit ======= =============================================================== >> Setting THREADS = 1 for tuning checking for NFS sievers... done. starting SIQS on c60: 349594255864176572614071853194924838158088864370890996447417 Segmentation fault (core dumped) Last fiddled with by charybdis on 2021-04-09 at 02:00 |
![]() |
![]() |
![]() |
#6 |
Dec 2020
59 Posts |
![]()
tune() doesn't seem to do anything (at least not updating yafu.ini) on Windows. And even if I have an old tune_info line in the .ini file, this is displayed on startup:
fac: no tune info: using qs/gnfs crossover of 100 digits fac: no tune info: using qs/snfs crossover of 75 digits Besides, ecm seems to run single-threaded, even with threads=10 in yafu.ini. SIQS runs multi-threaded. |
![]() |
![]() |
![]() |
#7 |
"Nigel"
Apr 2021
22×5 Posts |
![]()
553351296091338013184869649447 is a factor of the 60 digit number
|
![]() |
![]() |
![]() |
#8 | ||
Apr 2020
22×3×5×17 Posts |
![]() Quote:
Quote:
And that assumes we actually care what the factors are. That 60 digit number is just one of the numbers used as a test by yafu's tune() function, which determines the optimal crossover between SIQS and GNFS on a given system. It was probably generated randomly and is of no independent interest to anyone. |
||
![]() |
![]() |
![]() |
#9 | |
"Ben"
Feb 2007
22·941 Posts |
![]() Quote:
I set ext-ecm large so that the internal avx-ecm can be used to high bounds, which is both multithreaded and vectorized. It must have accidentally got committed to git. If folks have AVX512F and therefore access to all three ecm versions, they will have to think about how to configure things with ext_ecm, prefer_gmpecm, and prefer_gmpecm_stg2. The bug in tune was fixed last night; will hopefully get a new windows exe committed today. |
|
![]() |
![]() |
![]() |
#10 |
Apr 2020
11111111002 Posts |
![]()
tune() doesn't segfault anymore, but I'm still seeing a couple of issues. First it incorrectly detects a 64-bit linux system as 32-bit:
Code:
tune_info=Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz,LINUX32,9.61126e-06,0.201795,0.276128,0.0996136,100.465,42 Code:
fac: check tune params contained invalid parameter(s), ignoring tune info. |
![]() |
![]() |
![]() |
#11 |
Aug 2020
79*6581e-4;3*2539e-3
36 Posts |
![]()
When running yafu tune(), this is all that happens:
Code:
>yafu-x64.exe tune() checking for NFS sievers... done. starting SIQS on c60: 349594255864176572614071853194924838158088864370890996447417 session.log: Code:
04/10/21 06:55:39, ===================================== 04/10/21 06:55:39, System/Build Info: 04/10/21 06:55:39, detected AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx detected L1 = 32768 bytes, L2 = 4194304 bytes, CL = 64 bytes 04/10/21 06:55:39, using 1 random witness for Rabin-Miller PRP checks 04/10/21 06:55:39, Cached 664579 primes: max prime is 9999991 04/10/21 06:55:39, Random seed: 10929573232478676992 Code:
04/10/21 06:55:40, starting SIQS on c60: 349594255864176572614071853194924838158088864370890996447417 04/10/21 06:55:40, random seed: 8271006283189086208 And a second issue, specifying -noecm seems to be ignored. I used it both in the ini and as an argument but it still runs ecm. This number if it*s important: 10450974137988693609715901393399485545016883310684938211501868888239765039524963017798457141299451333307339683 Last fiddled with by bur on 2021-04-10 at 05:02 |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
yafu ignoring yafu.ini | chris2be8 | YAFU | 9 | 2022-02-17 17:52 |
Running YAFU via Aliqueit doesn't find yafu.ini | EdH | YAFU | 8 | 2018-03-14 17:22 |
YAFU-1.34 | bsquared | YAFU | 119 | 2015-11-05 16:24 |
Yafu bug. | storflyt32 | YAFU | 2 | 2015-06-29 05:19 |
yafu 1.32 | bsquared | YAFU | 28 | 2012-07-20 16:17 |