mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > YAFU

Reply
 
Thread Tools
Old 2022-09-20, 13:49   #1
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

22·941 Posts
Default YAFU Version 2.10

I checked in version 2.10.

Hopefully fixes the recently reported crashing issue right after yafu starts on systems without BMI1/2 (this is still not something I can directly test, so let me know if the problem still exists).

Also fixes the problem where primitive/algebraic factor detection left a prime number that NFS tried to factor. Now if that happens the factorization should finish.

The new/improved microecm is also included (added to the makefile/build). Thanks again to Jeff Hurchalla.

Almost forgot... external GPU-ECM binaries are now supported, optionally with Seth Trosi's CGBN enhancements. new options: "gpucurves", "cgbn", "use_gpuecm", "use_gpudev". Note that if you are using GPU-ECM with "factor()", then you'll probably want to make use of the "ext_ecm" option. This option sets when to switch over from internal non-gpu ECM to the external GPU-ECM binary. Otherwise, for example, factor() will try to use potentially thousands of GPU curves at B1=50000 when it only needs a few hundred. If you have AVX-ECM, then that will still be used as the internal ECM version before switching to external GPU-ECM.

Finally, I fixed several memory leaks after updating to a new version of valgrind. Either valgrind doesn't know how to deal with avx512 instructions or I don't know how to use it correctly, so the memory leaks were investigated without any of that code path... possibly some still exist there. But overall the situation should be improved.

If you are building from source you will also need to get the newest version of ytools/ysieve. Some of the memory leaks and fixes were in the ysieve library.

Last fiddled with by bsquared on 2022-09-20 at 13:58 Reason: Almost forgot about gpu-ecm options.
bsquared is offline   Reply With Quote
Old 2022-09-20, 15:26   #2
kruoli
 
kruoli's Avatar
 
"Oliver"
Sep 2017
Porta Westfalica, DE

1,559 Posts
Default

Does it require a self-compiled binary for the fix for Ivy Bridge etc.? The .exe in your GIT repository still crashed on startup on Ivy Bridge, Windows 7.
kruoli is offline   Reply With Quote
Old 2022-09-20, 15:29   #3
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

10000100011112 Posts
Default

Quote:
Originally Posted by kruoli View Post
Does it require a self-compiled binary for the fix for Ivy Bridge etc.?
The .exe in your GIT repository still crashed on startup on Ivy Bridge, Windows 7.
It was my understanding that none of the v2.0 YAFU will ever work on Windows 7. Crashing on old CPUs under Win10 I think was a different issue.

For what it's worth v2.10 seems to run fine on my i3-8100/Win10.

Last fiddled with by James Heinrich on 2022-09-20 at 15:29
James Heinrich is offline   Reply With Quote
Old 2022-09-20, 15:35   #4
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

1110101101002 Posts
Default

Quote:
Originally Posted by James Heinrich View Post
It was my understanding that none of the v2.0 YAFU will ever work on Windows 7. Crashing on old CPUs under Win10 I think was a different issue.

For what it's worth v2.10 seems to run fine on my i3-8100/Win10.
I don't know why it would crash on windows 7 and not windows 10. But my understanding of the dependencies of Visual Studio 2022 is very murky. Maybe it requires win10....

My hope is that it is a cpu-feature problem, not a windows version problem. But I can't directly test either one.

I highly recommend WSL/ubuntu if you're running windows. IIRC that is available for windows 7?

It looks like Ivy Bridge doesn't have either AVX2 or BMI2. But this *should* be detected and those features not used by either ysieve or yafu. Can you start up with -v -v -v -v and see if anything extra is printed?

Last fiddled with by bsquared on 2022-09-20 at 15:42
bsquared is offline   Reply With Quote
Old 2022-09-20, 15:54   #5
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

33×157 Posts
Default

Quote:
Originally Posted by bsquared View Post
I don't know why it would crash on windows 7 and not windows 10.
My hope is that it is a cpu-feature problem, not a windows version problem. But I can't directly test either one.
I'm happy to do any testing you want on my i7-3930K (Sandy Bridge).

Quote:
Originally Posted by bsquared View Post
I highly recommend WSL/ubuntu if you're running windows. IIRC that is available for windows 7?
No. If it's the WSL I think you mean, WSL is a compatibility layer for running Linux binary executables (in ELF format) natively on Windows 10, Windows 11, and Windows Server 2019.

Quote:
Originally Posted by bsquared View Post
It looks like Ivy Bridge doesn't have either AVX2 or BMI2. But this *should* be detected and those features not used by either ysieve or yafu. Can you start up with -v -v -v -v and see if anything extra is printed?
Quadverbosity makes no difference that I notice. See attached. Crash details:
Code:
Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	yafu-x64.exe
  Application Version:	0.0.0.0
  Application Timestamp:	6329c003
  Fault Module Name:	yafu-x64.exe
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	6329c003
  Exception Code:	c000001d
  Exception Offset:	0000000000001300
  OS Version:	6.1.7601.2.1.0.256.48
  Locale ID:	1033
  Additional Information 1:	e63c
  Additional Information 2:	e63cb477893153aa77789ca6de3c6a1b
  Additional Information 3:	2fdb
  Additional Information 4:	2fdb2bf6e03bebbe6df1b584e671261b
Attached Thumbnails
Click image for larger version

Name:	210vvvv.png
Views:	69
Size:	32.2 KB
ID:	27336   Click image for larger version

Name:	CPU-Z i7-3930K.png
Views:	65
Size:	32.2 KB
ID:	27337  

Last fiddled with by James Heinrich on 2022-09-20 at 15:56
James Heinrich is offline   Reply With Quote
Old 2022-09-20, 15:57   #6
kruoli
 
kruoli's Avatar
 
"Oliver"
Sep 2017
Porta Westfalica, DE

30278 Posts
Default

As far as I know, WSL is not availible for Windows 7.

Requested test:
Code:
C:\tmp>yafu -v -v -v -v
warning: could not open yafu.ini, no options parsed


YAFU Version 2.10
Built with Microsoft Visual Studio 1931
Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0
Detected       Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
Detected L1 = 32768 bytes, L2 = 6291456 bytes, CL = 64 bytes
Using 1 random witness for Rabin-Miller PRP checks
Cached 664579 primes; max prime is 9999991
Could not parse yafu.ini from C:\tmp

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

>>
...and then crashed as usual.
Error at 0x000000013F641300 in yafu.exe: 0xC000001D: Illegal Instruction
kruoli is offline   Reply With Quote
Old 2022-09-20, 16:17   #7
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

EB416 Posts
Default

Can you share the last 10-15 lines of session.log after an attempted startup?
bsquared is offline   Reply With Quote
Old 2022-09-20, 17:19   #8
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

22×13×53 Posts
Default

Quote:
Originally Posted by bsquared View Post
It should work on systems without AVX2, but I don't have any of those to test on anymore, so apparently it doesn't. Based on where it crashes it would seem the problem lies in the ysieve library, since one of the first things yafu does is create and store a small list of primes.
Link please. I can't test it if I can't find it...
storm5510 is offline   Reply With Quote
Old 2022-09-20, 17:25   #9
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

1110101101002 Posts
Default

Quote:
Originally Posted by storm5510 View Post
Link please. I can't test it if I can't find it...
Here.

By the way, I now suspect the linked GMP library as the problem, since the initial batch of primes is found just fine. The illegal instruction could lie in GMP's random number generator setup.

Last fiddled with by bsquared on 2022-09-20 at 17:26
bsquared is offline   Reply With Quote
Old 2022-09-20, 18:03   #10
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

108F16 Posts
Default

Quote:
Originally Posted by bsquared View Post
Can you share the last 10-15 lines of session.log after an attempted startup?
Empty. If I delete session.log it gets created as a zero-byte file but nothing is written to it before the crash (or after for that matter).
James Heinrich is offline   Reply With Quote
Old 2022-09-20, 23:30   #11
storm5510
Random Account
 
storm5510's Avatar
 
Aug 2009
Not U. + S.A.

22×13×53 Posts
Default

Quote:
Originally Posted by bsquared View Post
Thank you for the reply. The link appears to be to a Linux build. I read some install instructions EdH wrote and it sailed over my head. I have been running a Windows build, v2.09. It does fine. My Ubuntu box is usually busy with CADO-NFS.
storm5510 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
How I install YAFU version 2 onto my Ubuntu Machines EdH EdH 7 2023-03-14 15:06
yafu ignoring yafu.ini chris2be8 YAFU 9 2022-02-17 17:52
YAFU Version Differences nivek000 YAFU 2 2021-12-21 16:21
Running YAFU via Aliqueit doesn't find yafu.ini EdH YAFU 8 2018-03-14 17:22
YAFU version 1.31 bsquared YAFU 26 2012-04-23 03:16

All times are UTC. The time now is 04:44.


Sun Jun 4 04:44:06 UTC 2023 up 290 days, 2:12, 0 users, load averages: 1.05, 1.00, 1.04

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔