![]() |
![]() |
#45 | |
"James Heinrich"
May 2004
ex-Northern Ontario
2×3×683 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#46 |
Apr 2020
929 Posts |
![]()
Here's an attempt. Compiled with SSE4.1, apologies to anyone with really old computers. If your CPU supports AVX-512 there should be a substantial speedup but you'll need to ask someone else for a binary.
|
![]() |
![]() |
![]() |
#47 |
"James Heinrich"
May 2004
ex-Northern Ontario
2·3·683 Posts |
![]()
Thanks!
|
![]() |
![]() |
![]() |
#48 | |
Serpentine Vermin Jar
Jul 2014
64718 Posts |
![]() Quote:
I can run it and do a simple test factor like "yafu 121" and get basic factors. Then I tried to run a tune() and it crashed. Is this compiled with any options that wouldn't work on that CPU? James and I have been testing things out in regards to odd things that the 1.34 version is doing on the Primenet server and hoping this newer build works around it, so hopefully we can get a Nehalem (or even just Xeon "Core") build with those options. Nehalem does have SSE 4.1 (and 4.2) so I don't think that would be it... Here's a link to the details for that CPU: Nehalem / Westmere EP info FYI, when I run this on my own laptop, with i7-7700, it seems just fine. ![]() |
|
![]() |
![]() |
![]() |
#49 | |
Apr 2020
16418 Posts |
![]() Quote:
![]() Might try again when I've got a bit of time... |
|
![]() |
![]() |
![]() |
#50 |
Apr 2020
16418 Posts |
![]()
I have access to a Xeon E5645 (also Nehalem) but I don't have admin rights and there isn't a compiler installed, so I had to compile on a newer system and test on the old one. I couldn't get r387 to work - when running factor() it always crashed when trying to find Brent special forms, although siqs() was fine - but r379 appears to be OK.
Looks like changes made to yafu since r379 might have broken some things for older systems? |
![]() |
![]() |
![]() |
#51 | |
"Ben"
Feb 2007
3,733 Posts |
![]() Quote:
Are you using visual studio or MSYS2/mingw64 for your builds (or something else)? |
|
![]() |
![]() |
![]() |
#52 |
Apr 2020
3A116 Posts |
![]()
Please ignore the r379 binary I posted above: it suffers from the issue described in this thread where GMP-6.2.0 incompatibility causes a crash on inputs divisible by small primes. I'll see if r383 works, if not I'll try r379 with an older GMP.
I'm using MSYS2/mingw64. |
![]() |
![]() |
![]() |
#53 | |
Serpentine Vermin Jar
Jul 2014
5·677 Posts |
![]() Quote:
Hmm... I got a little farther when running tune() on the server in question, but it did still error out at this part: Code:
starting SIQS on c70: 6470287906463336878241474855987746904297564226439499503918586590778209 ==== sieving in progress (1 thread): 12224 relations needed ==== ==== Press ctrl-c to abort and save state ==== overriding small TF cutoff of 20 to 15 If push came to shove and I had to compile it, I could probably fire up a test VM on that same server and get VS installed on it... Any tips on compiling it, if I had to go the long way to get there? ![]() Last fiddled with by Madpoo on 2020-06-08 at 22:33 |
|
![]() |
![]() |
![]() |
#54 |
Apr 2020
11101000012 Posts |
![]()
Not having any success unfortunately. Trying to build r383 with either GMP-6.2.0 or 6.1.2 fails with
Code:
arith/monty.c:36:17: error: redefinition of '_umul128' 36 | __inline uint64 _umul128(uint64 a, uint64 b, uint64 *c) | ^~~~~~~~ In file included from C:/msys64/mingw64/x86_64-w64-mingw32/include/intrin.h:41, from include/types.h:38, from include/yafu.h:50, from arith/monty.c:26: C:/msys64/mingw64/x86_64-w64-mingw32/include/psdk_inc/intrin-impl.h:979:18: note: previous definition of '_umul128' was here 979 | unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b, unsigned __int64 *hi) | ^~~~~~~~ arith/monty.c: In function '_umul128': arith/monty.c:39:12: warning: unused variable 'lo' [-Wunused-variable] 39 | uint64 lo = (uint64)result; | ^~ arith/monty.c: In function 'fp_montgomery_calc_normalization': arith/monty.c:51:12: warning: unused variable 'bits' [-Wunused-variable] 51 | int x, bits; | ^~~~ arith/monty.c:51:9: warning: unused variable 'x' [-Wunused-variable] 51 | int x, bits; | ^ arith/monty.c: In function 'mulmod128': arith/monty.c:382:9: warning: variable 's' set but not used [-Wunused-but-set-variable] 382 | uint64 s[3]; | ^ arith/monty.c: In function 'sqrmod128': arith/monty.c:493:9: warning: variable 's' set but not used [-Wunused-but-set-variable] 493 | uint64 s[3]; | ^ arith/monty.c: In function '_umul128': arith/monty.c:41:1: warning: control reaches end of non-void function [-Wreturn-type] 41 | } | ^ make: *** [Makefile.mingw:286: arith/monty.o] Error 1 Last fiddled with by charybdis on 2020-06-08 at 22:38 |
![]() |
![]() |
![]() |
#55 |
"Ben"
Feb 2007
3,733 Posts |
![]()
First off, sorry for all of the difficulty here. I have not been in the habit of checking for successful builds on windows when checking in code, especially for older systems. It is also no fun that mingw builds take *so long*.
I've attached a build of the most recent version with only SSE4.1 activated in yafu. The underlying gmp and ecm builds I believe used -march=k8 and msieve had no special -march. This version has better management of -logfile. In the tests I've done if you specify -logfile NUL or -logfile "" then neither factor.log nor session.log are written at all. Also for some reason the system() calls that yafu uses to run external ecm and ggnfs no longer work. They all immediately return error code 127 (command can not be found or executed), even though the paths are all correct. Even trying something like system("pwd") fails with code 127. I can't yet figure out what's going on there. So, this version won't do either of those things. The attached yafu.ini sets the ecm_ext crossover fairly large, so the internal ecm is able to take care of things. I don't think your primary intention is to factor 100+ digit numbers anyway. With those caveats, hopefully this works. |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Guide to compiling YAFU | Mr. Odd | YAFU | 4 | 2017-04-24 15:40 |
Compiling YAFU under MinGW | wombatman | YAFU | 10 | 2016-01-21 19:48 |
Need help compiling YAFU from SVN. | Stargate38 | YAFU | 14 | 2016-01-20 21:46 |
compiling svn 427 for Windows 64 bit. | skan | NFSNET Discussion | 7 | 2012-04-18 10:30 |
Compiling ECM 5.0.3 for windows | BotXXX | Factoring | 25 | 2005-09-13 12:24 |