gmp benchmarks on a Niagara T5220
Dennis Clarke
dclarke at blastwave.org
Mon Feb 20 19:29:22 CET 2012
> Does this machine have serious FPU problems, like T1? Then GMP 5.1
> should help a lot, but the solid last place will not be threatened by
> these optimisations. :-)
Well let's take the code pi8.c at this page :
http://www.boo.net/~jasonp/pipage.html
Compile it on a 400MHz Pentium III :
titan-i386-SunOS5.8 $ echo $CFLAGS
-erroff -xstrconst -xildoff -xarch=pentium_pro -xnolibmil -Xa -KPIC
-xregs=no%frameptr -xlibmieee -mc -g -xs -nofstore -ftrap=%none -Qy -V
-xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -DSOLARIS2=8
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -DDIG_SIGCHASE -D_TS_ERRNO
titan-i386-SunOS5.8 $ cc $CFLAGS -o
/export/medusa/dclarke/pgm/C/pi/pi_pentium_pro
/export/medusa/dclarke/pgm/C/pi/pi.c -lm
cc: Sun C 5.8 Patch 121016-08 2009/04/20
acomp: Sun C 5.8 Patch 121016-08 2009/04/20
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.302
titan-i386-SunOS5.8 $ psrinfo -v
Status of virtual processor 0 as of: 02/20/12 17:32:34
on-line since 04/28/11 17:39:44.
The i386 processor operates at 400 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 1 as of: 02/20/12 17:32:34
on-line since 04/28/11 17:39:48.
The i386 processor operates at 400 MHz,
and has an i387 compatible floating point processor.
Does it work ?
titan-i386-SunOS5.8 $ ptime /tmp/pi_pentium_pro 100
PI = 3.
1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170681
Calculation time 0
real 0.010
user 0.003
sys 0.005
And for 10000 digits ?
titan-i386-SunOS5.8 $ ptime /tmp/pi_pentium_pro 10000 > /dev/null
real 11.398
user 11.383
sys 0.006
How about the Niagara T2 T5220 ?
eris-sparc-SunOS5.10 $ gcc $CFLAGS -O2 -o pi_niagara_t2 pi8.c -lm
eris-sparc-SunOS5.10 $ ldd pi_niagara_t2
libm.so.2 => /lib/64/libm.so.2
libc.so.1 => /lib/64/libc.so.1
/platform/SUNW,SPARC-Enterprise-T5220/lib/sparcv9/libc_psr.so.1
eris-sparc-SunOS5.10 $ ptime ./pi_niagara_t2 10000 > /dev/null
real 3.320
user 3.315
sys 0.004
Hrmmmmm .. about three times faster than a Pentium III, not bad.
Let's try the Studio 12 compiler real quick and dirty :
eris-sparc-SunOS5.10 $ ptime ./pi_niagara_t2_studio 10000 > /dev/null
real 2.697
user 2.692
sys 0.004
Wow ... big difference from gcc 4.6.2 but we expected that.
Let's try another box :
test-sparc-SunOS5.10 # psrinfo -pv
The physical processor has 2 virtual processors (0 16)
UltraSPARC-IV+ (portid 0 impl 0x19 ver 0x24 clock 1800 MHz)
The physical processor has 2 virtual processors (1 17)
UltraSPARC-IV+ (portid 1 impl 0x19 ver 0x22 clock 1800 MHz)
The physical processor has 2 virtual processors (2 18)
UltraSPARC-IV+ (portid 2 impl 0x19 ver 0x24 clock 1800 MHz)
The physical processor has 2 virtual processors (3 19)
UltraSPARC-IV+ (portid 3 impl 0x19 ver 0x22 clock 1800 MHz)
dev.adbs.ca $ which cc
/usr/bin/cc
dev.adbs.ca $ cc -V
cc: Sun C 5.9 SunOS_sparc Patch 124867-16 2010/08/11
usage: cc [ options] files. Use 'cc -flags' for details
dev.adbs.ca $ fpversion
A SPARC-based CPU is available.
Kernel says CPU's clock rate is 1800.0 MHz.
Kernel says main memory's clock rate is 150.0 MHz.
Sun-4 floating-point controller version 0 found.
An UltraSPARC chip is available.
Use "-xtarget=ultra4plus -xcache=64/32/4:2048/64/4:32768/64/4"
code-generation option.
dev.adbs.ca $ file pi_ultra4plus
pi_ultra4plus: ELF 64-bit MSB executable SPARCV9 Version 1, UltraSPARC1
Extensions Required, dynamically linked, not stripped
dev.adbs.ca $ ldd pi_ultra4plus
libm.so.2 => /lib/64/libm.so.2
libc.so.1 => /lib/64/libc.so.1
/platform/SUNW,Sun-Fire-V490/lib/sparcv9/libc_psr.so.1
dev.adbs.ca $ ptime ./pi_ultra4plus 10000 > /dev/null
real 1.771
user 1.768
sys 0.002
Well that is a lot faster than the T5220 and I guess it could be just
clock speed at play here. Not sure really.
I could use cputrack ot really check it but why bother right?
Here is a 4 way AMD Opteron box :
europa-i386-SunOS5.10 $ psrinfo -pv
The physical processor has 2 virtual processors (0 1)
x86 (chipid 0x0 AuthenticAMD family 15 model 33 step 0 clock 2200 MHz)
Dual Core AMD Opteron(tm) Processor 875
The physical processor has 2 virtual processors (2 3)
x86 (chipid 0x1 AuthenticAMD family 15 model 33 step 0 clock 2200 MHz)
Dual Core AMD Opteron(tm) Processor 875
The physical processor has 2 virtual processors (4 5)
x86 (chipid 0x2 AuthenticAMD family 15 model 33 step 0 clock 2200 MHz)
Dual Core AMD Opteron(tm) Processor 875
The physical processor has 2 virtual processors (6 7)
x86 (chipid 0x3 AuthenticAMD family 15 model 33 step 0 clock 2200 MHz)
Dual Core AMD Opteron(tm) Processor 875
europa-i386-SunOS5.10 $ cc -fast -m64 -o pi_opteron pi8.c -lm
europa-i386-SunOS5.10 $ ptime ./pi_opteron 10000 > /dev/null
real 1.292
user 1.290
sys 0.001
Well I may have to go try gmpbench on the UltraSparc IV+ box as well
as the Opteron but the Niagara T2 looks to be a bit of a dog and I am
not sure why.
Dennis
ps: funny, your userid tege and pub key are still here ya know. :-\
--
--
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