gmp benchmarks on a Niagara T5220
Dennis Clarke
dclarke at blastwave.org
Mon Feb 20 17:55:40 CET 2012
I had to work a little bit to get your gmpbench process to run. The
instructions were not the most clear, but clear enough.
Here is what I did and do let me know if these results mean anything:
1) firstly we have the server itself
t5220-sparc-SunOS5.10 $ prtdiag -v
System Configuration: Oracle Corporation sun4v SPARC Enterprise T5220
Memory size: 16256 Megabytes
================================ Virtual CPUs ================================
CPU ID Frequency Implementation Status
------ --------- ---------------------- -------
0 1165 MHz SUNW,UltraSPARC-T2 on-line
1 1165 MHz SUNW,UltraSPARC-T2 on-line
2 1165 MHz SUNW,UltraSPARC-T2 on-line
3 1165 MHz SUNW,UltraSPARC-T2 on-line
4 1165 MHz SUNW,UltraSPARC-T2 on-line
5 1165 MHz SUNW,UltraSPARC-T2 on-line
6 1165 MHz SUNW,UltraSPARC-T2 on-line
7 1165 MHz SUNW,UltraSPARC-T2 on-line
16 1165 MHz SUNW,UltraSPARC-T2 on-line
17 1165 MHz SUNW,UltraSPARC-T2 on-line
18 1165 MHz SUNW,UltraSPARC-T2 on-line
19 1165 MHz SUNW,UltraSPARC-T2 on-line
20 1165 MHz SUNW,UltraSPARC-T2 on-line
21 1165 MHz SUNW,UltraSPARC-T2 on-line
22 1165 MHz SUNW,UltraSPARC-T2 on-line
23 1165 MHz SUNW,UltraSPARC-T2 on-line
24 1165 MHz SUNW,UltraSPARC-T2 on-line
25 1165 MHz SUNW,UltraSPARC-T2 on-line
26 1165 MHz SUNW,UltraSPARC-T2 on-line
27 1165 MHz SUNW,UltraSPARC-T2 on-line
28 1165 MHz SUNW,UltraSPARC-T2 on-line
29 1165 MHz SUNW,UltraSPARC-T2 on-line
30 1165 MHz SUNW,UltraSPARC-T2 on-line
31 1165 MHz SUNW,UltraSPARC-T2 on-line
32 1165 MHz SUNW,UltraSPARC-T2 on-line
33 1165 MHz SUNW,UltraSPARC-T2 on-line
34 1165 MHz SUNW,UltraSPARC-T2 on-line
35 1165 MHz SUNW,UltraSPARC-T2 on-line
36 1165 MHz SUNW,UltraSPARC-T2 on-line
37 1165 MHz SUNW,UltraSPARC-T2 on-line
38 1165 MHz SUNW,UltraSPARC-T2 on-line
39 1165 MHz SUNW,UltraSPARC-T2 on-line
======================= Physical Memory Configuration ========================
Segment Table:
--------------------------------------------------------------
Base Segment Interleave Bank Contains
Address Size Factor Size Modules
--------------------------------------------------------------
0x0 16 GB 4 4 GB MB/CMP0/BR0/CH0/D0
MB/CMP0/BR0/CH1/D0
4 GB MB/CMP0/BR1/CH0/D0
MB/CMP0/BR1/CH1/D0
4 GB MB/CMP0/BR2/CH0/D0
MB/CMP0/BR2/CH1/D0
4 GB MB/CMP0/BR3/CH0/D0
MB/CMP0/BR3/CH1/D0
etc etc ...
============================ FW Version ============================
Version
------------------------------------------------------------
Sun System Firmware 7.4.2 2011/11/19 09:16
====================== System PROM revisions =======================
Version
------------------------------------------------------------
OBP 4.33.4 2011/11/17 13:46
Please bear in mind that there really isn't that many processors or
even cores for that matter. It is a cruel joke on the part of some
Sun engineers somewhere I am sure. Even this is not clear :
t5220-sparc-SunOS5.10 $ psrinfo -pv
The physical processor has 32 virtual processors (0-7 16-39)
UltraSPARC-T2 (chipid 0, clock 1165 MHz)
Still no help there. Really it is a quad core UltraSPARC T2 which
does a great job, at 1.2GHz more or less, of pushing eight threads
of execution through each of its cores.
2) The operating system is good old Solaris 10 :
t5220-sparc-SunOS5.10 $ cat /etc/release
Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Assembled 23 August 2011
3) The compiler used was my own GCC 4.6.2 :
eris-sparc-SunOS5.10 $ which gcc
/opt/bw/bin/gcc
eris-sparc-SunOS5.10 $ gcc --version
gcc (Blastwave.org Inc Mon Nov 7 16:53:21 GMT 2011) 4.6.2
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
eris-sparc-SunOS5.10 $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/bw/lib/gcc/sparc-sun-solaris2.8/4.6.2/lto-wrapper
Target: sparc-sun-solaris2.8
Configured with: ../gcc-4.6.2/configure --host=sparc-sun-solaris2.8
--build=sparc-sun-solaris2.8 --with-as=/usr/ccs/bin/as --without-gnu-ld
--with-ld=/usr/ccs/bin/ld --enable-multilib --enable-nls
--enable-threads=posix --prefix=/opt/bw --enable-shared
--libdir=/opt/bw/lib/sparcv8 --with-gmp-include=/opt/bw/include
--with-gmp-lib=/opt/bw/lib/sparcv8 --with-mpfr-include=/opt/bw/include
--with-mpfr-lib=/opt/bw/lib/sparcv8 --with-mpc-include=/opt/bw/include
--with-mpc-lib=/opt/bw/lib/sparcv8 --libexecdir=/opt/bw/lib
--with-gxx-include-dir=/opt/bw/include --with-local-prefix=/opt/bw/include
--with-pkgversion='Blastwave.org Inc Mon Nov 7 16:53:21 GMT 2011'
--with-bugurl=http://www.blastwave.org/support
--enable-languages=c,c++,objc,fortran,ada --enable-bootstrap
Thread model: posix
gcc version 4.6.2 (Blastwave.org Inc Mon Nov 7 16:53:21 GMT 2011)
eris-sparc-SunOS5.10 $
it is solid as as rock :
http://gcc.gnu.org/ml/gcc-testresults/2011-11/msg01044.html
4) the CFLAGS and the compile :
eris-sparc-SunOS5.10 $ echo $CFLAGS
-mno-app-regs -mno-vis -m64 -O2 -D_TS_ERRNO -DSOLARIS2=8
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
eris-sparc-SunOS5.10 $ gcc $CFLAGS gcd.c -o gcd -lgmp
eris-sparc-SunOS5.10 $ gcc $CFLAGS gcdext.c -o gcdext -lgmp
eris-sparc-SunOS5.10 $ gcc $CFLAGS multiply.c -o multiply -lgmp
eris-sparc-SunOS5.10 $ gcc $CFLAGS divide.c -o divide -lgmp
eris-sparc-SunOS5.10 $ gcc $CFLAGS rsa.c -o rsa -lgmp
eris-sparc-SunOS5.10 $ gcc $CFLAGS pi.c -o pi -lgmp -lm
.. and of course this little gem :
eris-sparc-SunOS5.10 $ gcc $CFLAGS gexpr.c -o gexpr -lm
The result being some bins that looks like so :
eris-sparc-SunOS5.10 $ file gcd
gcd: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not
stripped, no debugging information available
eris-sparc-SunOS5.10 $ ldd gcd
libgmp.so.10 => /usr/local/lib/sparcv9/libgmp.so.10
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /usr/local/lib/sparcv9/libgcc_s.so.1
libm.so.2 => /lib/64/libm.so.2
/platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr.so.1
5) The results look like so :
Running benchmarks (propagated score accuracy exceeds printed intermediates)
Category base
Program multiply (weight=1)
GMPbench.base.multiply(128) 1.303e+06
GMPbench.base.multiply(512) 2.459e+05
GMPbench.base.multiply(8192) 3432
GMPbench.base.multiply(131072) 69.6
GMPbench.base.multiply(2097152) 2.47
GMPbench.base.multiply(128,128) 1.339e+06
GMPbench.base.multiply(512,512) 2.473e+05
GMPbench.base.multiply(8192,8192) 2429
GMPbench.base.multiply(131072,131072) 51.1
GMPbench.base.multiply(2097152,2097152) 1.76
GMPbench.base.multiply(15000,10000) 1253
GMPbench.base.multiply(20000,10000) 942
GMPbench.base.multiply(30000,10000) 564
GMPbench.base.multiply(16777216,512) 9.66
GMPbench.base.multiply(16777216,262144) 0.445
GMPbench.base.multiply 805.69
Program divide (weight=1)
GMPbench.base.divide(8192,32) 7.578e+04
GMPbench.base.divide(8192,64) 9.165e+04
GMPbench.base.divide(8192,128) 4.34e+04
GMPbench.base.divide(8192,4096) 4900
GMPbench.base.divide(131072,65536) 62.6
GMPbench.base.divide(8388608,4194304) 0.364
GMPbench.base.divide(8192,8064) 5.495e+05
GMPbench.base.divide(16777216,262144) 0.229
GMPbench.base.divide 1197.7
Program gcd (weight=0.5)
GMPbench.base.gcd(128,128) 1.073e+05
GMPbench.base.gcd(512,512) 2.359e+04
GMPbench.base.gcd(8192,8192) 315
GMPbench.base.gcd(131072,131072) 3.7
GMPbench.base.gcd(1048576,1048576) 0.182
GMPbench.base.gcd 221.8
Program gcdext (weight=0.5)
GMPbench.base.gcdext(128,128) 8.747e+04
GMPbench.base.gcdext(512,512) 1.444e+04
GMPbench.base.gcdext(8192,8192) 144
GMPbench.base.gcdext(131072,131072) 2.05
GMPbench.base.gcdext(1048576,1048576) 0.113
GMPbench.base.gcdext 133.32
GMPbench.base 549.52
Category app
Program rsa (weight=1)
GMPbench.app.rsa(512) 508
GMPbench.app.rsa(1024) 90.1
GMPbench.app.rsa(2048) 17.4
GMPbench.app.rsa 92.693
Program pi (weight=1)
GMPbench.app.pi(10000) 26.3
GMPbench.app.pi(100000) 1.08
GMPbench.app.pi(1000000) 0.0559
GMPbench.app.pi 1.1666
GMPbench.app 10.399
GMPbench: 75.594
real 9:28.989
user 9:27.066
sys 2.120
I ran ptime to get that final report on the bottom there.
So then ... shall I go back and build this all 32-bit'ish and give
it a go ?
Dennis
--
--
http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x1D936C72FA35B44B
+-------------------------+-----------------------------------+
| Dennis Clarke | Solaris and Linux and Open Source |
| dclarke at blastwave.org | Respect for open standards. |
+-------------------------+-----------------------------------+
More information about the gmp-bugs
mailing list