
Friday June 08, 2007
SunStudio 12 is released
Finally! Its here!
SunStudio 12 is now available for downloads right away.
For
Solaris/SPARC, Solaris/x86(and x64), and Linux/x86(and x64).
If there is a single message to remember, its this one:
Performance, Parallelism, Productivity,
Platforms
Performance
Detailed numbers will follow some official announcements,
which undoubtedly will highlight World Record Numbers of some kind, but here are some
preliminary numbers at this time.
- Sun Studio 12 provides
substantial improvements vs. Sun Studio 11
- x86/x64 Solaris
- Studio12 is 15% faster on SPECint2006 (8.98e vs. 10.36e on an
older Opteron)
- Studio12 is 10% faster on SPECfp2006 (8.91e vs. 9.77e on an
older Opteron)
- SPARC Solaris
- Studio12 is 12% faster on SPECint2006 (4.15e vs. 4.65e on an
old SPARC)
- Studio12 is 1% faster on SPECfp2006 (4.17e vs. 4.21e on an
old SPARC)
- Sun Studio 12 is substantially faster
than GCC 4.2
- SunStudio 12 is 9% faster than GCC 4.2 on SPECint2006 (9.41e
vs. 10.29e on an older Opteron)
- SunStudio 12 is 19% faster than GCC 4.2 on SPECfp2006 (8.33e
vs. 9.90e on an older Opteron)
- SunStudio 12 is 18% faster than GCC 4.2 on SPECint2006 (3.93e
vs. 4.65e on a very old SPARC)
- SunStudio 12 is 52% faster than GCC 4.2 on SPECfp2006 (2.79e
vs. 4.23e on a very old SPARC)
- SunStudio 12 is 11% faster than GCC 4.2 on SPECint2006
(9.20e vs. 10.20e on an older Opteron)
- SunStudio 12 is 18% faster than GCC 4.2 on SPECfp200 (8.42e
vs. 9.92e on an older Opteron)
- Tuning:
- Studio 12: -fast -xipo=2
(For Opteron, add -m64; for
C++ add -library=stlport4)
- GCC: -O3 -funroll-loops
-fpeel-loops -funswitch-loops-fprefetch-loop-arrays -ffast-math -m64
(For Opteron, add -march=opteron;
for SPARC add -mcpu=ultrasparc3)
Note: In SPEC terminology,
(e)Estimates refers to results that are not officially submitted at
this
point.
Please also
see the Required Information at the end for machine details, etc
Note also that these are NOT
the
numbers submitted to SPEC, but on older TEST machines
- STREAM Benchmark Comparison:
SunStudio is substantially faster than GCC4.2
- SunStudio 12 is 70% better than GCC4.2 on x86/x64
- SunStudio 12 is 94% better than GCC4.2 on SPARC
Parallelism:
SunStudio 12 enables future applications to
take better advantage of CMT (Chip Multi-threading, Sun's terminology
for multicore chips that can serve several threads in parallel for
increased throughput computing), with:
- Thread Analyzer tool detects runtime dataraces and potential
deadlock conditions. More info here...
- Automatic Parallelization: let the compiler detect parallelism in
the program. In some cases the compiler may be able to do a better job
of it than is manually possible. See this STREAM case, for example. Of
course, users know much more about their programs than compilers are
able to automatically deduce, nevertheless "this is free" (minimum
effort on the part of users).
- Highly tuned Threaded libraries
- Support for OpenMP 2.5 APIs in the Compilers, Debugger and
Performance Analyzer
Productivity:
SunStudio 12 has improved the most in this area.
With a completely new and upgraded IDE, based on Netbeans 5.5.1,
SunStudio 12 now offers support for:
- Intelligent language-aware editor helps with code completion,
code folding, syntax highlighting
- Dynamic class browser
- Support for existing Netbeans-based and Workshop-based projects
- Full-fledged and featured GUI debugger
- Partner-friendly plugin model
Read about these and other features
here in more detail.
Platforms:
SunStudio 12 is now fully optimized for all
platforms and takes advantages of each platform feature fully, eg
- CoolTools for SPARC
- Runtime Checking, aka, Memory debugging for x86 and x64
- All of Solaris Performance features (OpenMP, Autopar, Dependency
analysis
- Increased GCC Source compatibility with such extensions as
__asm_inlines, __attribute__, etc
- Stable C++ ABI so you can upgrade your compilers and OSes
independently, and leverage existing investment
The basic platforms message is "
Same Source, Same
Components, Same Features, Same Performance". We are really
trying hard not to bias the product towards any one platform. However
(in full disclosure) there are features that we havent either gotten
around to implement on some platform (typically Linux) or where the
platform itself differentiates itself (eg. on Linux, due to a lack of
libcpc interface, the ability to do HW Counter Profiling is
significantly different than on Solaris).
There is a lot more to this release than these highlights. In coming
weeks, I am planning to blog about each one in much more details.
Hopefully you will find the information here useful. I'm very open to
feedback. Leave me a comment if you'd like to hear more about a
particular topic and I'll try to elaborate on it more.
Required Information:
SPEC, SPECint, SPECfp registered trademarks of Standard
Performance
Evaluation Corporation.
Sun Fire X4600 M2 (2xAMD Opteron model 250, 2 cores, 2 chips, 1
cores/chip, Solaris 10): SunStudio12 SPECint_2006 -
9.92(estimate), SPECfp_2006- 9.90 (estimate)
Sun Fire X4600 M2 (2xAMD Opteron model 250, 2 cores, 2
chips, 1
cores/chip, Solaris 10): SunStudio11. SPECint_2006 -
8.92(estimate), SPECfp_2006- 8.91 (estimate)
Sun Fire X4600 M2 (2xAMD Opteron model 250, 2 cores, 2
chips, 1
cores/chip, Solaris 10): GCC4.2SPECint_2006 - 8.95 (estimate),
SPECfp_2006- 8.33(estimate)
SunBlade 2500 (2xUltraSPARC IIIi at 1600MHz, 2 cores, 2 chips, 1
cores/chip, Solaris 10): SunStudio 12. SPECint_2006 - 4.65 (estimate),
SPECfp_2006- 4.23(estimate)
SunBlade 2500 (2xUltraSPARC IIIi at 1600MHz, 2 cores, 2
chips, 1
cores/chip, Solaris 10): GCC4.2 SPECint_2006 - 3.93(estimate),
SPECfp_2006- 2.79(estimate)
Posted by tatkar
( Jun 08 2007, 11:06:05 AM PDT )
Permalink