![]() |
Thanks, that's good news. Does tune produce sensible parameters for the NTT now?
Alex |
[QUOTE=akruppa;165882]Thanks, that's good news. Does tune produce sensible parameters for the NTT now?[/QUOTE]
It produced on the Opteron: #define MPZMOD_THRESHOLD 68 #define REDC_THRESHOLD 512 #define MPN_MUL_LO_THRESHOLD_TABLE {0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 9, 10, 11, 12, 13, 12, 13, 14, 15, 15, 16, 17, 18, 19, 20, 21, 19, 19} #define NTT_GFP_TWIDDLE_DIF_BREAKOVER 12 #define NTT_GFP_TWIDDLE_DIT_BREAKOVER 17 #define MUL_NTT_THRESHOLD 512 #define PREREVERTDIVISION_NTT_THRESHOLD 32 #define POLYINVERT_NTT_THRESHOLD 1024 #define POLYEVALT_NTT_THRESHOLD 16384 #define MPZSPV_NORMALISE_STRIDE 256 There is no tune for the MSVC builds. Jeff. |
The DIF breakover looks reasonable now - much better than 7.
Alex |
[QUOTE=fivemack;164850]
But what really surprises me is that oprofile tells me, on a C244 which ought to have mpn_size 13 which is a lot less than REDC_THRESHOLD and on an ECM which I compiled with asmredc enabled, that it's spending 90% of its time in libgmp.[/QUOTE] I just looked at the code again and it turns out that we don't use mulredc for P-1 stage 1 with large enough B1. I yet need to write a proper sliding window exponentiation for mpmod. Was that a P-1 run? Alex |
a bunch of noob questions
[QUOTE=henryzz;161855]i didnt know that
i still managed to get 2x speed by running in 64-bit though i had to install GMP to get GMP-ECM to compile on the 64-bit version of Ubuntu after i installed GMP 4.2.4 the first time the ./configure for GMP-ECM said i had mismatching versions of gmp.h which it said was 4.2.2 and the other part which it said was 4.2.4 it took quite a bit of fiddling to get it to work [/QUOTE] I have installed ubuntu 9.04 on my laptop (not yet connected to internet, because I haven't installed my mobile modem yet) approx. two weeks ago, and want to compile ECM. Questions: GMP (libgmp3c2, version 2:4.2.4+dfsg-2ubuntu1) is installed, is it save to update to GMP 4.3.1 by running ./configure make make check ? (gcc 4.3.3 is installed; does this compiler compile gmp-4.3.1 correctly on a core 2 duo? gmplib.org says that gcc 4.3.[B]2[/B] won't do, so I'm a bit concerned.) [quote]sudo apt-get install libc6-dev g++ gcc sudo apt-get install build-essentials sudo apt-get install m4[/quote] Which of these do I have to install - or how do I find out if they are already installed? (I know that m4 is not installed, as GMP-ECM was complaining.) When I download them and install them offline, will typing e.g. "install m4" (without "sudo apt-get") do? Edit: I just managed to connect to internet when running ubuntu, so the questions about installing [I]offline[/I] are obsolete. |
[quote=Andi47;191068][quote]sudo apt-get install libc6-dev g++ gcc
sudo apt-get install build-essentials sudo apt-get install m4 [/quote]Which of these do I have to install - or how do I find out if they are already installed? (I know that m4 is not installed, as GMP-ECM was complaining.) When I download them and install them offline, will typing e.g. "install m4" (without "sudo apt-get") do? Edit: I just managed to connect to internet when running ubuntu, so the questions about installing [I]offline[/I] are obsolete.[/quote] i think the first one is included in build-essentials m4 is needed for gmp-ecm |
I have now installed m4, then changed to my ECM directory and typed ./configure.
After a lot of lines, the process died after complaining that it can't find gmp.h. According to synaptics, libgmp3c2 is installed, is this what I'm searching? In which directory is it hidden? (I didn't find it, but I guess, that I need to type [COLOR="Blue"]./configure --with-gmp=<gmp directory>[/COLOR]?) Should I better download and install gmp-4.3.1 from gmplib.org? Edit: Does gmp-4.3.1 compile correctly with gcc 4.3.3? Edit: I just tried. after compiling GMP and typing "make", all tests are passed, but I get a few warnings (although the tests after the warnings are passed too.): [CODE]make[4]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/rand' make[3]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/rand' Making check in misc make[3]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' make t-printf t-scanf t-locale make[4]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-printf.c t-printf.c: In Funktion »check_n«: t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-printf t-printf.o ../../tests/libtests.la ../../libgmp.la mkdir .libs gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-printf t-printf.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-printf gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-scanf.c t-scanf.c: In Funktion »check_n«: t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c: In Funktion »check_misc«: t-scanf.c:1605: Warnung: ISO-C90 unterstützt nicht »long long« /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-scanf t-scanf.o ../../tests/libtests.la ../../libgmp.la gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-scanf t-scanf.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-scanf gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-locale.c /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-locale t-locale.o ../../tests/libtests.la ../../libgmp.la gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-locale t-locale.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-locale make[4]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' make check-TESTS make[4]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' PASS: t-printf PASS: t-scanf PASS: t-locale ================== All 3 tests passed ================== [/CODE] Is this harmful? Edit2: ls [code]andreas@ubuntu:~/GMP/gmp-4.3.1$ ls acinclude.m4 config.h errno.lo gmp-h.in macos mp_clz_tab.o mp_set_fns.c randdef.o randmts.c rands.o aclocal.m4 config.in errno.o gmp-impl.h Makefile mp_dv_tab.c mp_set_fns.lo randiset.c randmts.lo README ansi2knr.1 config.log extract-dbl.c gmp-mparam.h Makefile.am mp_dv_tab.lo mp_set_fns.o randiset.lo randmts.o scanf ansi2knr.c config.m4 extract-dbl.lo gmpxx.h Makefile.in mp_dv_tab.o mpz randiset.o randmui.c stamp-h1 assert.c config.status extract-dbl.o INSTALL memory.c mpf NEWS randlc2s.c randmui.lo tal-debug.c assert.lo config.sub fib_table.h INSTALL.autoconf memory.lo mp_get_fns.c printf randlc2s.lo randmui.o tal-notreent.c assert.o configure gen-bases install-sh memory.o mp_get_fns.lo randbui.c randlc2s.o rand.o tal-reent.c AUTHORS configure.in gen-bases.c invalid.c missing mp_get_fns.o randbui.lo randlc2x.c rands.c tal-reent.lo ChangeLog COPYING gen-fac_ui invalid.lo mp_bases.h mp.h randbui.o randlc2x.lo randsd.c tal-reent.o compat.c COPYING.LIB gen-fac_ui.c invalid.o mp_bpl.c mp-h.in rand.c randlc2x.o randsd.lo tests compat.lo cxx gen-fib libgmp.la mp_bpl.lo mp_minv_tab.c randclr.c rand.lo randsd.o tune compat.o demos gen-fib.c libmp.sym mp_bpl.o mp_minv_tab.lo randclr.lo randmt.c randsdui.c version.c configfsf.guess doc gen-psqr libtool mpbsd mp_minv_tab.o randclr.o randmt.h randsdui.lo version.lo configfsf.sub dumbmp.c gen-psqr.c longlong.h mp_clz_tab.c mpn randdef.c randmt.lo randsdui.o version.o config.guess errno.c [B] gmp.h[/B] ltmain.sh mp_clz_tab.lo mpq randdef.lo randmt.o rands.lo [/code] ... cd ecm-6.2.3 ./configure --with gmp=/home/andreas/GMP/gmp-4.3.1 [code]... checking for malloc_usable_size... yes [B]checking gmp.h usability... no checking gmp.h presence... no checking for gmp.h... no configure: error: required header file missing [/B][/code] huh?? :help: |
[QUOTE=Andi47;191165]
Edit2: ls [code]andreas@ubuntu:~/GMP/gmp-4.3.1$ ls acinclude.m4 config.h errno.lo gmp-h.in macos mp_clz_tab.o mp_set_fns.c randdef.o randmts.c rands.o aclocal.m4 config.in errno.o gmp-impl.h Makefile mp_dv_tab.c mp_set_fns.lo randiset.c randmts.lo README ansi2knr.1 config.log extract-dbl.c gmp-mparam.h Makefile.am mp_dv_tab.lo mp_set_fns.o randiset.lo randmts.o scanf ansi2knr.c config.m4 extract-dbl.lo gmpxx.h Makefile.in mp_dv_tab.o mpz randiset.o randmui.c stamp-h1 assert.c config.status extract-dbl.o INSTALL memory.c mpf NEWS randlc2s.c randmui.lo tal-debug.c assert.lo config.sub fib_table.h INSTALL.autoconf memory.lo mp_get_fns.c printf randlc2s.lo randmui.o tal-notreent.c assert.o configure gen-bases install-sh memory.o mp_get_fns.lo randbui.c randlc2s.o rand.o tal-reent.c AUTHORS configure.in gen-bases.c invalid.c missing mp_get_fns.o randbui.lo randlc2x.c rands.c tal-reent.lo ChangeLog COPYING gen-fac_ui invalid.lo mp_bases.h mp.h randbui.o randlc2x.lo randsd.c tal-reent.o compat.c COPYING.LIB gen-fac_ui.c invalid.o mp_bpl.c mp-h.in rand.c randlc2x.o randsd.lo tests compat.lo cxx gen-fib libgmp.la mp_bpl.lo mp_minv_tab.c randclr.c rand.lo randsd.o tune compat.o demos gen-fib.c libmp.sym mp_bpl.o mp_minv_tab.lo randclr.lo randmt.c randsdui.c version.c configfsf.guess doc gen-psqr libtool mpbsd mp_minv_tab.o randclr.o randmt.h randsdui.lo version.lo configfsf.sub dumbmp.c gen-psqr.c longlong.h mp_clz_tab.c mpn randdef.c randmt.lo randsdui.o version.o config.guess errno.c [B] gmp.h[/B] ltmain.sh mp_clz_tab.lo mpq randdef.lo randmt.o rands.lo [/code] ... cd ecm-6.2.3 ./configure --with gmp=/home/andreas/GMP/gmp-4.3.1 [code]... checking for malloc_usable_size... yes [B]checking gmp.h usability... no checking gmp.h presence... no checking for gmp.h... no configure: error: required header file missing [/B][/code] huh?? :help:[/QUOTE] any idea why ./configure complains about a missing gmp.h? If not - can anyone please provide a precompiled binary (compiled with gmp-4.3.1) for Core 2 Duo under linux? |
[quote=Andi47;191165]I have now installed m4, then changed to my ECM directory and typed ./configure.
After a lot of lines, the process died after complaining that it can't find gmp.h. According to synaptics, libgmp3c2 is installed, is this what I'm searching? In which directory is it hidden? (I didn't find it, but I guess, that I need to type [COLOR=Blue]./configure --with-gmp=<gmp directory>[/COLOR]?) Should I better download and install gmp-4.3.1 from gmplib.org? Edit: Does gmp-4.3.1 compile correctly with gcc 4.3.3? Edit: I just tried. after compiling GMP and typing "make", all tests are passed, but I get a few warnings (although the tests after the warnings are passed too.): [code]make[4]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/rand' make[3]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/rand' Making check in misc make[3]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' make t-printf t-scanf t-locale make[4]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-printf.c t-printf.c: In Funktion »check_n«: t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« t-printf.c:812: Warnung: ISO-C90 unterstützt nicht »long long« /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-printf t-printf.o ../../tests/libtests.la ../../libgmp.la mkdir .libs gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-printf t-printf.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-printf gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-scanf.c t-scanf.c: In Funktion »check_n«: t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c:1346: Warnung: ISO-C90 unterstützt nicht »long long« t-scanf.c: In Funktion »check_misc«: t-scanf.c:1605: Warnung: ISO-C90 unterstützt nicht »long long« /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-scanf t-scanf.o ../../tests/libtests.la ../../libgmp.la gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-scanf t-scanf.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-scanf gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../tests -O2 -pedantic -m64 -mtune=core2 -c t-locale.c /bin/bash ../../libtool --mode=link gcc -O2 -pedantic -m64 -mtune=core2 -o t-locale t-locale.o ../../tests/libtests.la ../../libgmp.la gcc -O2 -pedantic -m64 -mtune=core2 -o .libs/t-locale t-locale.o ../../tests/.libs/libtests.a /home/andreas/GMP/gmp-4.3.1/.libs/libgmp.so ../../.libs/libgmp.so creating t-locale make[4]: Verlasse Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' make check-TESTS make[4]: Betrete Verzeichnis '/home/andreas/GMP/gmp-4.3.1/tests/misc' PASS: t-printf PASS: t-scanf PASS: t-locale ================== All 3 tests passed ================== [/code]Is this harmful? Edit2: ls [code]andreas@ubuntu:~/GMP/gmp-4.3.1$ ls acinclude.m4 config.h errno.lo gmp-h.in macos mp_clz_tab.o mp_set_fns.c randdef.o randmts.c rands.o aclocal.m4 config.in errno.o gmp-impl.h Makefile mp_dv_tab.c mp_set_fns.lo randiset.c randmts.lo README ansi2knr.1 config.log extract-dbl.c gmp-mparam.h Makefile.am mp_dv_tab.lo mp_set_fns.o randiset.lo randmts.o scanf ansi2knr.c config.m4 extract-dbl.lo gmpxx.h Makefile.in mp_dv_tab.o mpz randiset.o randmui.c stamp-h1 assert.c config.status extract-dbl.o INSTALL memory.c mpf NEWS randlc2s.c randmui.lo tal-debug.c assert.lo config.sub fib_table.h INSTALL.autoconf memory.lo mp_get_fns.c printf randlc2s.lo randmui.o tal-notreent.c assert.o configure gen-bases install-sh memory.o mp_get_fns.lo randbui.c randlc2s.o rand.o tal-reent.c AUTHORS configure.in gen-bases.c invalid.c missing mp_get_fns.o randbui.lo randlc2x.c rands.c tal-reent.lo ChangeLog COPYING gen-fac_ui invalid.lo mp_bases.h mp.h randbui.o randlc2x.lo randsd.c tal-reent.o compat.c COPYING.LIB gen-fac_ui.c invalid.o mp_bpl.c mp-h.in rand.c randlc2x.o randsd.lo tests compat.lo cxx gen-fib libgmp.la mp_bpl.lo mp_minv_tab.c randclr.c rand.lo randsd.o tune compat.o demos gen-fib.c libmp.sym mp_bpl.o mp_minv_tab.lo randclr.lo randmt.c randsdui.c version.c configfsf.guess doc gen-psqr libtool mpbsd mp_minv_tab.o randclr.o randmt.h randsdui.lo version.lo configfsf.sub dumbmp.c gen-psqr.c longlong.h mp_clz_tab.c mpn randdef.c randmt.lo randsdui.o version.o config.guess errno.c [B] gmp.h[/B] ltmain.sh mp_clz_tab.lo mpq randdef.lo randmt.o rands.lo [/code]... cd ecm-6.2.3 ./configure --with gmp=/home/andreas/GMP/gmp-4.3.1 [code]... checking for malloc_usable_size... yes [B]checking gmp.h usability... no checking gmp.h presence... no checking for gmp.h... no configure: error: required header file missing [/B][/code]huh?? :help:[/quote] you need to type: sudo make install before anything will be able to find it |
[QUOTE=henryzz;191234]you need to type:
sudo make install before anything will be able to find it[/QUOTE] you mean that I should "sudo make install" GMP, before compiling ECM? |
A configuration with
./configure --with-gmp=/home/andreas/GMP/gmp-4.3.1 requires two directories /include and /lib which contain the header file and the library: /home/andreas/GMP/gmp-4.3.1/include/gmp.h /home/andreas/GMP/gmp-4.3.1/lib/libgmp.a |
| All times are UTC. The time now is 23:30. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.