Thanks very much! This is now all the tuning values for x86_64 one, with the exception of ivybridge, piledriver and haswell. But these are still pretty rare so I'm not really expecting anyone to give values for those.
We also have stand-in values for those arches which should be good enough. Bill. On 28 March 2014 04:42, Jason Preszler <jpresz...@gmail.com> wrote: > On Wednesday, March 26, 2014 4:28:20 AM UTC-7, Bill Hart wrote: > > Hi all, > > > > > > We still don't have any tuning code on ARM or Atom for MPIR. Note MPIR > will run extremely slowly without new tuning values due to recent changes. > > > > > > Please let us know on the mpir-devel list if you are willing to help. > > > > > > > > As far as we know, there are three things that can go wrong with tuning > (which is otherwise very simple), but they all have very easy fixes, so > please let us know if tune does not complete for some reason and we'll give > instructions. > > > > > > > > git clone https://github.com/wbhart/mpir > > cd mpir > > ./configure > > make -j > > cd tune > > make tune > > > > > > > > Bill. > > Here are the results from an Atom N270 (gcc 4.8.2) > > > /* Generated by tuneup.c, 2014-03-27, gcc 4.8 */ > > #define MUL_KARATSUBA_THRESHOLD 24 > #define MUL_TOOM3_THRESHOLD 78 > #define MUL_TOOM4_THRESHOLD 185 > #define MUL_TOOM8H_THRESHOLD 286 > > #define SQR_BASECASE_THRESHOLD 0 /* always (native) */ > #define SQR_KARATSUBA_THRESHOLD 36 > #define SQR_TOOM3_THRESHOLD 117 > #define SQR_TOOM4_THRESHOLD 298 > #define SQR_TOOM8_THRESHOLD 309 > > #define POWM_THRESHOLD 39 > > #define USE_PREINV_DIVREM_1 1 /* native */ > #define USE_PREINV_MOD_1 1 /* native */ > #define DIVREM_2_THRESHOLD 0 /* always */ > #define DIVEXACT_1_THRESHOLD 0 /* always (native) */ > #define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */ > #define MOD_1_1_THRESHOLD 28 > #define MOD_1_2_THRESHOLD 28 > #define MOD_1_3_THRESHOLD 93 > #define DIVREM_HENSEL_QR_1_THRESHOLD 197 > #define RSH_DIVREM_HENSEL_QR_1_THRESHOLD 95 > #define DIVREM_EUCLID_HENSEL_THRESHOLD 292 > > #define MUL_FFT_FULL_THRESHOLD 3552 > > #define SQR_FFT_FULL_THRESHOLD 2272 > > #define MULLOW_BASECASE_THRESHOLD 5 > #define MULLOW_DC_THRESHOLD 52 > #define MULLOW_MUL_THRESHOLD 375 > > #define MULHIGH_BASECASE_THRESHOLD 7 > #define MULHIGH_DC_THRESHOLD 51 > #define MULHIGH_MUL_THRESHOLD 406 > > #define MULMOD_2EXPM1_THRESHOLD 20 > > #define SB_DIVAPPR_Q_SMALL_THRESHOLD 0 /* always */ > #define SB_DIV_QR_SMALL_THRESHOLD 0 /* always */ > #define DC_DIV_QR_THRESHOLD 31 > #define INV_DIV_QR_THRESHOLD 1387 > #define INV_DIVAPPR_Q_N_THRESHOLD 31 > #define DC_DIV_Q_THRESHOLD 110 > #define INV_DIV_Q_THRESHOLD 1078 > #define DC_DIVAPPR_Q_THRESHOLD 45 > #define INV_DIVAPPR_Q_THRESHOLD 10956 > #define DC_BDIV_QR_THRESHOLD 37 > #define DC_BDIV_Q_THRESHOLD 124 > > #define ROOTREM_THRESHOLD 7 > > #define MATRIX22_STRASSEN_THRESHOLD 14 > #define HGCD_THRESHOLD 101 > #define HGCD_APPR_THRESHOLD 50 > #define HGCD_REDUCE_THRESHOLD 487 > #define GCD_DC_THRESHOLD 451 > #define GCDEXT_DC_THRESHOLD 300 > #define JACOBI_BASE_METHOD 2 > > #define GET_STR_DC_THRESHOLD 12 > #define GET_STR_PRECOMPUTE_THRESHOLD 23 > #define SET_STR_DC_THRESHOLD 102 > #define SET_STR_PRECOMPUTE_THRESHOLD 1057 > > #define FAC_DSC_THRESHOLD 180 > #define FAC_ODD_THRESHOLD 29 > > /* fft_tuning -- autogenerated by tune-fft */ > > #define FFT_TAB \ > { { 3, 3 }, { 3, 2 }, { 2, 1 }, { 1, 0 }, { 1, 0 } } > > #define MULMOD_TAB \ > { 4, 3, 3, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 1, 1 } > > #define FFT_N_NUM 15 > > #define FFT_MULMOD_2EXPP1_CUTOFF 128 > > > /* Tuneup completed successfully, took 774 seconds */ > > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to mpir-devel+unsubscr...@googlegroups.com. To post to this group, send email to mpir-devel@googlegroups.com. Visit this group at http://groups.google.com/group/mpir-devel. For more options, visit https://groups.google.com/d/optout.