GMP tuneup crashes
Stephen Sebeny
ssebeny at icloud.com
Sun Aug 5 18:37:37 UTC 2018
- I am running Mac OS X 10.13.6 (17G65) with Xcode 9.4.1 (9F2000) on an iMac (Retina 5K, 27-inch, Late 2014) with 4 GHz Intel Core i7 (Haswell)
- I downloaded gmp-6.1.2.tar.bz2 from https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2 <https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2>
- Uncompressed & extracted gmp-6.1.2.tar.bz2
- Ran ./configure
- Ran make
- Not sure if it is an issue or not, but just a few lines before the end of the output from make I noticed these lines mentioning no symbols found n various files:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
libtool: link: ranlib .libs/libgmp.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(mp_clz_tab.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obprintf.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obvprintf.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(obprntffuns.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgmp.a(repl-vsnprintf.o) has no symbols
- Next I ran make check
- It appears to have passed all the various tests built & run. (Although the section for cxx (C++?) listed 0 tests.)
- Then I built the tuneup tool: cd tune/; make tuneup
- The build appeared to succeed although I noticed a couple more lines like given above that mentioned "has no symbols"
- So then I ran tuneup: ./tuneup
- It generated the following output, appearing to crash before it finished
Parameters for ./mpn/x86_64/coreihwl/gmp-mparam.h
Using: CPU cycle counter, supplemented by microsecond getrusage()
speed_precision 10000, speed_unittime 2.50e-10 secs, CPU freq 4000.00 MHz
DEFAULT_MAX_SIZE 1000, fft_max_size 50000
/* Generated by tuneup.c, 2018-08-05, gcc 4.2 */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 3
#define MOD_1U_TO_MOD_1_1_THRESHOLD 2
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 10
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 24
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 8
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIV_QR_1_NORM_THRESHOLD 1
#define DIV_QR_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD 26
#define MUL_TOOM22_THRESHOLD 24
#define MUL_TOOM33_THRESHOLD 74
#define MUL_TOOM44_THRESHOLD 202
#define MUL_TOOM6H_THRESHOLD 286
#define MUL_TOOM8H_THRESHOLD 406
#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129
#define MUL_TOOM32_TO_TOOM53_THRESHOLD 138
#define MUL_TOOM42_TO_TOOM53_THRESHOLD 130
#define MUL_TOOM42_TO_TOOM63_THRESHOLD 134
#define MUL_TOOM43_TO_TOOM54_THRESHOLD 183
#define SQR_BASECASE_THRESHOLD 0 /* always (native) */
#define SQR_TOOM2_THRESHOLD 36
#define SQR_TOOM3_THRESHOLD 117
#define SQR_TOOM4_THRESHOLD 324
#define SQR_TOOM6_THRESHOLD 402
#define SQR_TOOM8_THRESHOLD 430
#define MULMID_TOOM42_THRESHOLD 46
#define MULMOD_BNM1_THRESHOLD 15
#define SQRMOD_BNM1_THRESHOLD 18
#define MUL_FFT_MODF_THRESHOLD 380 /* k = 5 */
#define MUL_FFT_TABLE3 \
{ { 380, 5}, { 19, 6}, { 10, 5}, { 21, 6}, \
{ 11, 5}, { 23, 6}, { 21, 7}, { 11, 6}, \
{ 25, 7}, { 13, 6}, { 27, 7}, { 21, 8}, \
{ 11, 7}, { 25, 8}, { 13, 7}, { 28, 8}, \
{ 15, 7}, { 31, 8}, { 21, 9}, { 11, 8}, \
{ 27, 9}, { 15, 8}, { 35, 9}, { 19, 8}, \
{ 41, 9}, { 23, 8}, { 47, 9}, { 27,10}, \
{ 15, 9}, { 39,10}, { 23, 9}, { 51,11}, \
{ 15,10}, { 31, 9}, { 67,10}, { 39, 9}, \
{ 79,10}, { 47, 9}, { 512,10}, { 1024,11}, \
{ 2048,12}, { 4096,13}, { 8192,14}, { 16384,15}, \
{ 32768,16}, { 65536,17}, { 131072,18}, { 262144,19}, \
{ 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \
{8388608,24} }
#define MUL_FFT_TABLE3_SIZE 53
#define MUL_FFT_THRESHOLD 4224
#define SQR_FFT_MODF_THRESHOLD 368 /* k = 5 */
#define SQR_FFT_TABLE3 \
{ { 368, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \
{ 19, 7}, { 10, 6}, { 23, 7}, { 12, 6}, \
{ 25, 7}, { 13, 6}, { 27, 7}, { 25, 8}, \
{ 13, 7}, { 28, 8}, { 15, 7}, { 31, 8}, \
{ 17, 7}, { 35, 8}, { 19, 9}, { 11, 8}, \
{ 27, 9}, { 15, 8}, { 35, 9}, { 19, 8}, \
{ 41, 9}, { 23, 8}, { 49, 9}, { 27,10}, \
{ 15, 9}, { 39,10}, { 23, 9}, { 51,11}, \
{ 15,10}, { 31, 9}, { 67,10}, { 39, 9}, \
{ 79,10}, { 1024,11}, { 2048,12}, { 4096,13}, \
{ 8192,14}, { 16384,15}, { 32768,16}, { 65536,17}, \
{ 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \
{2097152,22}, {4194304,23}, {8388608,24} }
#define SQR_FFT_TABLE3_SIZE 51
#define SQR_FFT_THRESHOLD 3264
#define MULLO_BASECASE_THRESHOLD 0 /* always */
#define MULLO_DC_THRESHOLD 77
#define MULLO_MUL_N_THRESHOLD 8397
#define SQRLO_BASECASE_THRESHOLD 11
#define SQRLO_DC_THRESHOLD 82
#define SQRLO_SQR_THRESHOLD 6481
#define DC_DIV_QR_THRESHOLD 74
#define DC_DIVAPPR_Q_THRESHOLD 195
#define DC_BDIV_QR_THRESHOLD 68
#define DC_BDIV_Q_THRESHOLD 148
#define INV_MULMOD_BNM1_THRESHOLD 46
#define INV_NEWTON_THRESHOLD 171
#define INV_APPR_THRESHOLD 181
#define BINV_NEWTON_THRESHOLD 236
#define REDC_1_TO_REDC_2_THRESHOLD 58
#define REDC_2_TO_REDC_N_THRESHOLD 70
#define MU_DIV_QR_THRESHOLD 1442
#define MU_DIVAPPR_Q_THRESHOLD 1442
#define MUPI_DIV_QR_THRESHOLD 63
#define MU_BDIV_QR_THRESHOLD 1442
#define MU_BDIV_Q_THRESHOLD 1470
#define POWM_SEC_TABLE 1,14,187,257,1167
#define GET_STR_DC_THRESHOLD 12
#define GET_STR_PRECOMPUTE_THRESHOLD 25
#define SET_STR_DC_THRESHOLD 1562
#define SET_STR_PRECOMPUTE_THRESHOLD 3100
#define FAC_DSC_THRESHOLD 537
#define FAC_ODD_THRESHOLD 330
#define MATRIX22_STRASSEN_THRESHOLD 21
#define HGCD_THRESHOLD 66
#define HGCD_APPR_THRESHOLD 50
#define HGCD_REDUCE_THRESHOLD 2479
#define GCD_DC_THRESHOLD 807
#define GCDEXT_DC_THRESHOLD speed_measure() could not get 4 results within 1.0%
unsorted sorted
0.000000522100 0.000000357360 is about 0.5%
0.000052210 0.000035736
0.000062404 0.000035863
0.000041543 0.000036249
0.000040533 0.000036392
0.000039372 0.000036680
0.000038820 0.000036999
0.000038285 0.000037012
0.000058774 0.000038254
0.000076686 0.000038285
0.000065439 0.000038355
0.000065582 0.000038820
0.000065984 0.000039372
0.000077390 0.000039400
0.000103237 0.000040193
0.000095302 0.000040533
0.000091513 0.000041543
0.000093916 0.000050751
0.000052881 0.000052210
0.000050751 0.000052881
0.000040193 0.000058774
0.000039400 0.000062404
0.000038254 0.000065439
0.000038355 0.000065582
0.000036999 0.000065984
0.000037012 0.000076686
0.000036680 0.000077390
0.000036392 0.000091513
0.000036249 0.000093916
0.000035736 0.000095302
0.000035863 0.000103237
Abort trap: 6
- I ran tuneup multiple times, and observed the same thing every time, but sometimes crashing at different points, for example:
Parameters for ./mpn/x86_64/coreihwl/gmp-mparam.h
Using: CPU cycle counter, supplemented by microsecond getrusage()
speed_precision 10000, speed_unittime 2.50e-10 secs, CPU freq 4000.00 MHz
DEFAULT_MAX_SIZE 1000, fft_max_size 50000
/* Generated by tuneup.c, 2018-08-05, gcc 4.2 */
#define MOD_1_NORM_THRESHOLD 0 /* always */
#define MOD_1_UNNORM_THRESHOLD 0 /* always */
#define MOD_1N_TO_MOD_1_1_THRESHOLD 3
#define MOD_1U_TO_MOD_1_1_THRESHOLD 2
#define MOD_1_1_TO_MOD_1_2_THRESHOLD 10
#define MOD_1_2_TO_MOD_1_4_THRESHOLD 24
#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 8
#define USE_PREINV_DIVREM_1 1 /* native */
#define DIV_QR_1_NORM_THRESHOLD 1
#define DIV_QR_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */
#define DIVEXACT_1_THRESHOLD 0 /* always (native) */
#define BMOD_1_TO_MOD_1_THRESHOLD 26
#define MUL_TOOM22_THRESHOLD 24
speed_measure() could not get 4 results within 1.0%
unsorted sorted
0.000000422778 0.000000401615 is about 0.5%
0.000042278 0.000040162
0.000040367 0.000040367
0.000040162 0.000041762
0.000051583 0.000042101
0.000049147 0.000042278
0.000062677 0.000043307
0.000069660 0.000045580
0.000067762 0.000049147
0.000043307 0.000050863
0.000087139 0.000051567
0.000041762 0.000051583
0.000045580 0.000052470
0.000052470 0.000060427
0.000073760 0.000062677
0.000051567 0.000067762
0.000078883 0.000068289
0.000068289 0.000068613
0.000071343 0.000068780
0.000087921 0.000069660
0.000060427 0.000069844
0.000068780 0.000070939
0.000069844 0.000071343
0.000089799 0.000071791
0.000071791 0.000073760
0.000042101 0.000078767
0.000050863 0.000078883
0.000078767 0.000087139
0.000068613 0.000087921
0.000107782 0.000089799
0.000070939 0.000107782
Abort trap: 6
- I am attaching to this e-mail the entire log of my Terminal session with all the output of the configure, make, and tuneup commands run in the file gmp-6.1.2_BuildAttempt_08-05-18.txt, and also the config.log file.
-----
Stephen M. Sebeny
ssebeny at icloud.com <mailto:ssebeny at icloud.com>
More information about the gmp-bugs
mailing list