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.

Reply via email to