mersenneforum.org > YAFU YAFU 2.0
 Register FAQ Search Today's Posts Mark Forums Read

 2021-04-21, 17:43 #34 kruoli     "Oliver" Sep 2017 Porta Westfalica, DE 22·3·5·11 Posts Sorry, I do not own any AVX-512 capable CPU. (I have a Xeon Phi add in card, but currently I have no system to run it in.) The system where I compiled YAFU was a Threadripper 1950X. When tuning, I got some segfaults (in the second SIQS, the first one went fine), so I'll have to investigate what happened later.
 2021-04-21, 17:48 #35 ConceptJunkie   "Rick Gutleber" Apr 2021 Leesburg, VA, USA 3 Posts Long-time lurker with lame newb question Hi, I've been using YAFU in conjunction with my calculator tool for about 5 years (https://github.com/ConceptJunkie/rpn) and I'm excited about this new release. My lame question is this: Is there any place to get a compiled Windows executable for YAFU? There's a lot of stuff to build and I'd rather not start down that road unless I really need to, because I've seen the build instructions for Windows in the past, and they're quite involved. My current obsession for the last couple weeks is computing the first prime after 10^n. I'm up to 3500-and-some right now. But if there's a new YAFU to try, maybe I'll go back to playing with aliquot sequences. If I need to pull up my big boy pant and just build the thing, I will.
2021-04-21, 17:56   #36
axn

Jun 2003

10100000111012 Posts

Quote:
 Originally Posted by ConceptJunkie My current obsession for the last couple weeks is computing the first prime after 10^n. I'm up to 3500-and-some right now.
Are you aware of Border PRPs?

2021-04-21, 18:23   #37
bsquared

"Ben"
Feb 2007

2×1,789 Posts

Quote:
 Originally Posted by ConceptJunkie Hi, I've been using YAFU in conjunction with my calculator tool for about 5 years (https://github.com/ConceptJunkie/rpn) and I'm excited about this new release. My lame question is this: Is there any place to get a compiled Windows executable for YAFU? There's a lot of stuff to build and I'd rather not start down that road unless I really need to, because I've seen the build instructions for Windows in the past, and they're quite involved. My current obsession for the last couple weeks is computing the first prime after 10^n. I'm up to 3500-and-some right now. But if there's a new YAFU to try, maybe I'll go back to playing with aliquot sequences. If I need to pull up my big boy pant and just build the thing, I will.
There are 3 .exe's here: https://github.com/bbuhrow/yafu

yafu-mingw-avx2.exe and yafu-mingw-skyx.exe are a little faster than yafu-x64.exe if you have cpus that support avx2 or avx512 but I think you have to use them in a mingw shell. yafu-x64.exe should be pretty general purpose and is only really only different in that it won't reach maximum SIQS speed.

I recommend giving a build a try using windows subsystem for linux (WSL) on windows 10. But totally understand if you don't want to go down that road.

Either way, thanks, and welcome to the forum.

2021-04-21, 18:26   #38
ConceptJunkie

"Rick Gutleber"
Apr 2021
Leesburg, VA, USA

310 Posts

Quote:
 Originally Posted by axn Are you aware of Border PRPs?
No, but I know the information is out there. You can find a list of the first 14,000 of them at https://oeis.org/A033873.

I see that BorderPRP has most of them up to 100,000.

 2021-04-23, 00:49 #39 wombatman I moo ablest echo power!     May 2013 23·223 Posts Trying to compile 2.0 with latest GMP (6.2.1) and GMP-ECM (from svn update) using "make USE_SSE41=1 ECM=1 NFS=1". ytools and ysieve compile without issue. Trying to compile yafu throws the following error: Code: /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:65: multiple definition of vecmulmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:63: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:69: multiple definition of vecaddsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:67: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:66: multiple definition of vecsqrmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:64: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:68: multiple definition of vecsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:66: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:67: multiple definition of vecaddmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:65: first defined here /usr/bin/ld: factor/autofactor.o: in function do_work': /home/wombat/yafu/factor/autofactor.c:491: undefined reference to nfs' /usr/bin/ld: top/cmdParser/calc.o: in function feval': /home/wombat/yafu/top/cmdParser/calc.c:2844: undefined reference to nfs' /usr/bin/ld: /home/wombat/yafu/top/cmdParser/calc.c:2402: undefined reference to nfs' I'm sure I've forgotten something that needs to be changed, but I can't figure out what. Last fiddled with by wombatman on 2021-04-23 at 00:50
2021-04-23, 03:54   #40
ConceptJunkie

"Rick Gutleber"
Apr 2021
Leesburg, VA, USA

38 Posts

Quote:
 Originally Posted by bsquared There are 3 .exe's here: https://github.com/bbuhrow/yafu
Thank you. I saw the Git repo, and checked for releases (which were all ancient), but didn't notice that there were EXEs. I tried it out and it works fine for me. Thanks!

I'll definitely keep an eye on the progress of this fascinating project. Even after all these years, the idea that I can factor a hundred-digit number in anywhere from a few minutes to a couple hours still blows my mind.

I've always been a little obsessed with numbers, and there's so much cool stuff available these days to indulge my interests. YAFU is definitely one of the coolest.

Last fiddled with by VBCurtis on 2021-04-23 at 14:19 Reason: fixed quote tags

2021-04-23, 15:25   #41
bsquared

"Ben"
Feb 2007

2×1,789 Posts

Quote:
 Originally Posted by wombatman Trying to compile 2.0 with latest GMP (6.2.1) and GMP-ECM (from svn update) using "make USE_SSE41=1 ECM=1 NFS=1". ytools and ysieve compile without issue. Trying to compile yafu throws the following error: Code: /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:65: multiple definition of vecmulmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:63: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:69: multiple definition of vecaddsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:67: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:66: multiple definition of vecsqrmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:64: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:68: multiple definition of vecsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:66: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:67: multiple definition of vecaddmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:65: first defined here /usr/bin/ld: factor/autofactor.o: in function do_work': /home/wombat/yafu/factor/autofactor.c:491: undefined reference to nfs' /usr/bin/ld: top/cmdParser/calc.o: in function feval': /home/wombat/yafu/top/cmdParser/calc.c:2844: undefined reference to nfs' /usr/bin/ld: /home/wombat/yafu/top/cmdParser/calc.c:2402: undefined reference to nfs' I'm sure I've forgotten something that needs to be changed, but I can't figure out what.
Hopefully just fixed the duplicate vec*_ptr problems - please try it again after updating. I'm not sure why you are getting the undefined nfs errors since you are including NFS=1. Maybe do a make clean (make clean NFS=1 USE_SSE41=1) and rebuild.

You shouldn't need the ECM=1 flag... that is an msieve thing. But including it is harmless.

Last fiddled with by bsquared on 2021-04-23 at 15:26

2021-04-23, 15:30   #42
bsquared

"Ben"
Feb 2007

2·1,789 Posts

Quote:
 Originally Posted by ConceptJunkie Thank you. I saw the Git repo, and checked for releases (which were all ancient), but didn't notice that there were EXEs. I tried it out and it works fine for me. Thanks! I'll definitely keep an eye on the progress of this fascinating project. Even after all these years, the idea that I can factor a hundred-digit number in anywhere from a few minutes to a couple hours still blows my mind. I've always been a little obsessed with numbers, and there's so much cool stuff available these days to indulge my interests. YAFU is definitely one of the coolest.
Thanks! Glad you like it. It has been a lot of fun tinkering with it over the years. And as cpu vendors keep adding new things (AVX512, more and more threads), there always seems to be new ways to optimize.

2021-04-23, 15:32   #43
bsquared

"Ben"
Feb 2007

DFA16 Posts

Quote:
 Originally Posted by kruoli Sorry, I do not own any AVX-512 capable CPU. (I have a Xeon Phi add in card, but currently I have no system to run it in.) The system where I compiled YAFU was a Threadripper 1950X. When tuning, I got some segfaults (in the second SIQS, the first one went fine), so I'll have to investigate what happened later.
If you are unable to make progress please let me know. I don't have any AMD systems to test on, but obviously I would like yafu to be able to run on them.

2021-04-23, 20:13   #44
wombatman
I moo ablest echo power!

May 2013

23·223 Posts

Quote:
 Originally Posted by bsquared Hopefully just fixed the duplicate vec*_ptr problems - please try it again after updating. I'm not sure why you are getting the undefined nfs errors since you are including NFS=1. Maybe do a make clean (make clean NFS=1 USE_SSE41=1) and rebuild.  You shouldn't need the ECM=1 flag... that is an msieve thing. But including it is harmless.
Still seeing the same errors (minus the NFS ones) after updating, running make clean, and re-making:

Code:
/usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:65: multiple definition of vecmulmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:63: first defined here
/usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:69: multiple definition of vecaddsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:67: first defined here
/usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:66: multiple definition of vecsqrmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:64: first defined here
/usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:68: multiple definition of vecsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:66: first defined here
/usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:67: multiple definition of vecaddmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:65: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:422: yafu] Error 1`
I also did a clean re-make of both ytools and ysieve, just in case, before the remake of yafu proper.

 Similar Threads Thread Thread Starter Forum Replies Last Post chris2be8 YAFU 6 2019-10-17 16:22 EdH YAFU 8 2018-03-14 17:22 bsquared YAFU 119 2015-11-05 16:24 storflyt32 YAFU 2 2015-06-29 05:19 bsquared YAFU 28 2012-07-20 16:17

All times are UTC. The time now is 17:41.

Fri Oct 22 17:41:26 UTC 2021 up 91 days, 12:10, 0 users, load averages: 1.76, 1.42, 1.40