Hi,

I'm aware of the segfaults on sparc64. I've derived some adequate
tuning values for this machine, so won't worry about it too much.
Tuning has always been dodgy and always crashed on numerous machines.
We need a big drive to sort this out in the future, but it's a huge
job. The crash in the fft tuning code is almost certainly the tuning
code itself, and it was expected that it would fail on a few machines.

We simply do what we can for now. Thanks very much for the figures.
I'll add the new values in tonight and tomorrow (when Leif supplies
his). This is probably realistically about all we are going to get.
There are default parameters for old machines which should be
sufficient given that you practically have to go to a museum to view
some of them.

Bill.

On 24 October 2012 13:34, Jean-Pierre Flori <jpfl...@gmail.com> wrote:
> Another sparc machine (same segfault):
>
> uname -a
> SunOS infres1 5.10 Generic_139555-08 sun4v sparc SUNW,T5140
>
> prtdiag
> System Configuration:  Sun Microsystems  sun4v T5140
> Memory size: 16160 Megabytes
>
> ================================ Virtual CPUs
> ================================
>
>
> CPU ID Frequency Implementation         Status
> ------ --------- ---------------------- -------
> 0      1165 MHz  SUNW,UltraSPARC-T2+    on-line
> ...
>
> gcc -v
> Reading specs from
> /local/packages/gcc3/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/specs
>
> Configured with:
> /sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure
> --prefix=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as
> --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++
> --enable-shared
> Thread model: posix
> gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
>
> ./config.guess
> ultrasparc-sun-solaris2.10
>
>
> ./tuneup
> Parameters for ./mpn/sparc64/gmp-mparam.h
> Using: CPU cycle counter, supplemented by microsecond getrusage()
> speed_precision 1000000, speed_unittime 8.58e-10 secs, CPU freq 1165.00 MHz
> DEFAULT_MAX_SIZE 1000, fft_max_size 50000
>
> /* Generated by tuneup.c, 2012-10-24, gcc 3.4 */
>
> #define MUL_KARATSUBA_THRESHOLD          22
> #define MUL_TOOM3_THRESHOLD              78
> #define MUL_TOOM4_THRESHOLD             390
> #define MUL_TOOM8H_THRESHOLD            390
>
> #define SQR_BASECASE_THRESHOLD            8
> #define SQR_KARATSUBA_THRESHOLD          54
> #define SQR_TOOM3_THRESHOLD              87
> #define SQR_TOOM4_THRESHOLD             426
> #define SQR_TOOM8_THRESHOLD             426
>
> #define POWM_THRESHOLD                  984
>
> #define HGCD_THRESHOLD                   45
> #define GCD_DC_THRESHOLD                 57
> #define GCDEXT_DC_THRESHOLD             354
> #define JACOBI_BASE_METHOD                2
>
> #define DIVREM_1_NORM_THRESHOLD       MP_SIZE_T_MAX  /* never */
> #define DIVREM_1_UNNORM_THRESHOLD     MP_SIZE_T_MAX  /* never */
> #define MOD_1_NORM_THRESHOLD          MP_SIZE_T_MAX  /* never */
> #define MOD_1_UNNORM_THRESHOLD        MP_SIZE_T_MAX  /* never */
>
> #define USE_PREINV_DIVREM_1               1
> #define USE_PREINV_MOD_1                  1
> #define DIVREM_2_THRESHOLD            MP_SIZE_T_MAX  /* never */
>
> #define DIVEXACT_1_THRESHOLD              0  /* always */
> #define MODEXACT_1_ODD_THRESHOLD          0  /* always */
> #define MOD_1_1_THRESHOLD                23
> #define MOD_1_2_THRESHOLD                23
> #define MOD_1_3_THRESHOLD                23
>
> #define DIVREM_HENSEL_QR_1_THRESHOLD    996
> #define RSH_DIVREM_HENSEL_QR_1_THRESHOLD    996
> #define DIVREM_EUCLID_HENSEL_THRESHOLD     45
>
> #define ROOTREM_THRESHOLD                 3
>
> #define GET_STR_DC_THRESHOLD             13
> #define GET_STR_PRECOMPUTE_THRESHOLD     30
> #define SET_STR_DC_THRESHOLD            210
> #define SET_STR_PRECOMPUTE_THRESHOLD    238
>
> #define MUL_FFT_FULL_THRESHOLD         1248
>
> #define SQR_FFT_FULL_THRESHOLD         2016
>
>
> #define MULLOW_BASECASE_THRESHOLD         0  /* always */
> #define MULLOW_DC_THRESHOLD              14
> #define MULLOW_MUL_THRESHOLD           1989
>
> #define MULHIGH_BASECASE_THRESHOLD        4
> #define MULHIGH_DC_THRESHOLD             11
> #define MULHIGH_MUL_THRESHOLD          3114
>
> #define MULMOD_2EXPM1_THRESHOLD          12
>
> #define FAC_UI_THRESHOLD               1024
> #define DC_DIV_QR_THRESHOLD              10
> #define DC_DIVAPPR_Q_N_THRESHOLD         45
> #define INV_DIV_QR_THRESHOLD            309
>
> #define INV_DIVAPPR_Q_N_THRESHOLD        45
> #define DC_DIV_Q_THRESHOLD               75
> #define INV_DIV_Q_THRESHOLD            1787
> #define DC_DIVAPPR_Q_THRESHOLD           55
> #define INV_DIVAPPR_Q_THRESHOLD        5922
> #define DC_BDIV_QR_THRESHOLD            100
> #define DC_BDIV_Q_THRESHOLD              15
>
>
> /* fft_tuning -- autogenerated by tune-fft */
>
> #define FFT_TAB \
>    { { 3, 2 }, { 3, 2 }, { 2, 1 }, { 1, 0 }, { 0, 0 } }
>
> #define MULMOD_TAB \
>    { gmake: *** [tune] Segmentation Fault
>

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to