![]() |
![]() |
#45 |
"Ben"
Feb 2007
7·11·47 Posts |
![]()
Saw ~10% improvement on the c95. I didn't really watch the first one with default params, but this one had to extend the sieve range 5 or 6 times before filtering/LA.
|
![]() |
![]() |
![]() |
#46 |
"Curtis"
Feb 2005
Riverside, CA
14D416 Posts |
![]()
That makes sense, if you're running single-threaded. CADO siever clients continue to run during filtering, so on a normal job that's using an entire machine the server thread is filtering while the other threads keep sieving- filtering usually fails the first time, asking for more relations, but by the time it does the client threads have supplied enough relations for filtering to work the second time. CADO is smart enough to not repeat duplicate removal- running filtering twice leads to a shorter job than running it once, at least on 6+ core machines.
This is a spot where running single-threaded is a handicap against CADO. Edit: your single-thread experience makes clear that I should add a note to the file to add 10% to target relations if running 4-threaded or fewer. Last fiddled with by VBCurtis on 2022-02-14 at 05:30 |
![]() |
![]() |
![]() |
#47 | |
"Ben"
Feb 2007
7·11·47 Posts |
![]() Quote:
The C100 was about 30% faster with the new params, very nice! That brings the crossover somewhere between 95 and 100 digits, maybe 97. |
|
![]() |
![]() |
![]() |
#48 | |
"Ben"
Feb 2007
7×11×47 Posts |
![]() Quote:
Last fiddled with by bsquared on 2022-02-15 at 04:26 |
|
![]() |
![]() |
![]() |
#49 | |
Feb 2022
1100002 Posts |
![]() Quote:
Question: Could you tell me how to build GGNFS from source? I have tried a lot and cannot get it to compile for my CPU. I tried Ed's "How do I..." set of guides and the build would crash on factoring some numbers but not on other, the SVN repo is from 2006 and hasn't been update since then. I tried several patches for the repo to try to get it to install and they get pass some issues but not others, mostly I get assembly errors and a modulo32 function duplication error from the compiler. Any instructions on how to compile GGNFS and its sievers from source using GCC-11 for Linux would be greatly appreciated. I notice you wrote GGNFS64, do you have a 64-bit assembly version that runs on modern machines? As oppose to what was available back in 2006? |
|
![]() |
![]() |
![]() |
#50 |
"Ed Hall"
Dec 2009
Adirondack Mtns
22·1,151 Posts |
![]() |
![]() |
![]() |
![]() |
#51 |
Apr 2020
7×107 Posts |
![]()
I don't think there's much to be gained from compiling your own copies of the GGNFS sievers rather than using precompiled binaries. Did bsquared's binaries from EdH's guide not work on your system?
The GGNFS sievers are no longer in development. You couldn't find a version for modern machines because there isn't one; the asm code hasn't been updated since the core-2 era. But it still runs on modern machines. |
![]() |
![]() |
![]() |
#52 |
"Ben"
Feb 2007
7·11·47 Posts |
![]()
I just now re-uploaded linux ggnfs executables here. It's a zip file dated 2011, which is probably when I last built the things and I've been using ever since.
I have numbers now for yafu-nfs but they are on my home pc; I'll try to remember to add them later today. The upshot is that yafu-nfs is competitive but slightly slower than cado-3.0 with default params. With VBCurtis's new params cado-3.0 beats it handily. [edit] Also, yafu-qs with three large primes is about 10% faster on the c105, but that's not enough to change anything. cado or yafu's nfs is better still. Last fiddled with by bsquared on 2022-02-17 at 15:26 |
![]() |
![]() |
![]() |
#53 | |
"Ben"
Feb 2007
7×11×47 Posts |
![]()
You only need the sievers. No one has used any of the rest of it in a decade or more, to my knowledge.
To build those I think this works: Quote:
|
|
![]() |
![]() |
![]() |
#54 | |||||
Feb 2022
1100002 Posts |
![]() Quote:
Quote:
Code:
# Copyright (C) 2001,2002 Jens Franke # This file is part of gnfs4linux, distributed under the terms of the # GNU General Public Licence and WITHOUT ANY WARRANTY. # You should have received a copy of the GNU General Public License along # with this program; see the file COPYING. If not, write to the Free # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # # 6/13/04: Hacked up for use in GGNFS by Chris Monico. INC=-I. -I./asm LIBFLAGS=-L. #CFLAGS=-Os -march=amdfam10 -mtune=amdfam10 -funroll-loops CFLAGS=-O3 -march=k8 -mtune=k8 -funroll-loops .SUFFIXES: .SECONDARY: *.c *.o .PHONY: all clean SRCFILES=fbgen.c gnfs-lasieve4e.c input-poly.c mpz-ull.c mpqs.c \ real-poly-aux.c redu2.c gmp-aux.c if.c lasieve-prepn.c \ primgen32.c recurrence6.c asm/siever-config.c asm/siever-config.h OBJS=if.o input-poly.o redu2.o recurrence6.o fbgen.o \ real-poly-aux.o primgen32.o lasieve-prepn.o mpqs.o LIBS=-lgmp-aux -lgmp -lm all : gnfs-lasieve4I11e gnfs-lasieve4I12e gnfs-lasieve4I13e \ gnfs-lasieve4I14e gnfs-lasieve4I15e gnfs-lasieve4I16e %.o: %.c asm/siever-config.h $(CC) $(CFLAGS) $(INC) -c -o $@ $< %.o: %.s $(CC) $(INC) -c $^ libgmp-aux.a: gmp-aux.o mpz-ull.o $(AR) rcs $@ $^ gnfs-lasieve4eI%.o: gnfs-lasieve4e.c $(CC) $(CFLAGS) $(INC) -c -DI_bits=$* -o $@ $< gnfs-lasieve4I11e: gnfs-lasieve4eI11.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI11.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static gnfs-lasieve4I12e: gnfs-lasieve4eI12.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI12.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static gnfs-lasieve4I13e: gnfs-lasieve4eI13.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI13.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static gnfs-lasieve4I14e: gnfs-lasieve4eI14.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI14.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static gnfs-lasieve4I15e: gnfs-lasieve4eI15.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI15.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static gnfs-lasieve4I16e: gnfs-lasieve4eI16.o $(OBJS) libgmp-aux.a \ liblasieve.a liblasieveI16.a $(CC) $(CFLAGS) $(INC) $(LIBFLAGS) -o $@ $^ $(LIBS) -static clean: ifeq ($(OS),Windows_NT) -rm -f *.o *.a $(BINDIR)/gnfs-lasieve4I1?e.exe else -rm -f *.o *.a $(BINDIR)/gnfs-lasieve4I1?e endif (test -d asm && $(MAKE) -C asm clean) || exit 0 EDIT: Now that I look closer there are a tonne or assembly error messages: Quote:
Quote:
Quote:
Last fiddled with by factorn on 2022-02-19 at 05:30 Reason: Include more info about error |
|||||
![]() |
![]() |
![]() |
#55 |
"Curtis"
Feb 2005
Riverside, CA
22·31·43 Posts |
![]()
There's a reason nobody tries to guild GGNFS anymore. It's unsupported, and a pain to compile, and really really out of date. Even when it was the best we had, it was a pain to compile (I never succeeded, but I'm no programmer so debugging compiler errors is not my skillset).
If the binaries floating around don't suit you, get used to CADO. |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
29 to 30 bit large prime SNFS crossover | VBCurtis | Factoring | 11 | 2015-03-09 07:01 |
32/33 and 15e/16e crossover point | fivemack | Factoring | 7 | 2009-04-21 07:59 |
More points for PRP? | Mystwalker | Prime Sierpinski Project | 6 | 2006-01-03 23:32 |
any body play with the soft fft crossover yes? | crash893 | Software | 9 | 2002-09-18 20:45 |
Can I move an exponent near a FFT crossover to my P III? | svempasnake | Software | 2 | 2002-09-09 21:32 |