Why Use Sun Studio 12 Compilers and Tools?

   
By Steven Meloan, August 2008  

Articles Index

Use Sun Studio 12 compilers and tools to capitalize on multicore hardware, multithreaded software, and diverse open-source technology offerings.

Contents
 
Overview: Revolution/Evolution
Sun Studio 12 Compilers and Tools: Meeting the Need
Features Overview
C Compiler Features
C++ Compiler Features
Fortran Compiler Features
Sun Performance Library Features
Distributed Make (dmake)
NetBeans-Based IDE
dbx Debugger
Runtime Checking (part of dbx)
Thread Analyzer
Performance Analyzer
Proven Performance
Free Download
Sun Studio Web Site
Sun Studio Express: Preview Development Builds
Community and Support
Conclusion
For More Information
 
Overview: Revolution/Evolution

Today's developers find themselves in the midst of a number of important converging hardware and software trends. First, the race for ever-increasing processor speeds is all but over. Greater performance is now being achieved through parallelism--at both a hardware and software level. Sun Microsystems’ UltraSPARC T2 (Niagara 2) processor, for example, offers 8 cores and 64 threads on a single chip. Secondly, in order to utilize such multicore hardware platforms, applications are increasingly being developed with multithreaded parallel programming in mind, using such technologies as OpenMP and MPI. Lastly, developers are increasingly mixing and matching technologies from a broad palette of open-source operating systems and technology offerings.

Sun Studio 12 Compilers and Tools: Meeting the Need

Sun Studio 12 software handily addresses the needs of developers in an era of multicore hardware, multithreaded software, and diverse open-source technology offerings. Because the development process has become increasingly complex, it's essential to use a tool explicitly designed for today's development challenges.

Sun Studio 12 software maximizes both the development process and ultimate performance in multicore application development. It serves as a comprehensive development/deployment/testing facility for Linux and Solaris, SPARC, and x86/x64 (Intel and AMD) platforms--offering award-winning compilers (C, C++, Fortran) optimized for the latest multicore architectures, thread analysis tools, compiler auto-parallelization, OpenMP and MPI support, performance analysis tools, multithreaded debugging, and more.

Features Overview
  • C, C++, and Fortran compilers, with optimizations for multicore architectures that are fine-tuned for each microarchitecture (SPARC, x86/x64)
  • NetBeans 5.5.1-based IDE, providing "first-hour" productivity wizards
  • dmake, for spawning parallel compilations, integrated with Sun Grid Engine
  • Optimized math libraries
  • Auto-parallelization, OpenMP, and MPI libraries
  • Popular G++ and GCC extensions
  • Thread Analyzer (works with OpenMP, Pthreads, and Solaris Threads)
  • dbx debugger, including DWARF format on all compilers
  • Performance Analyzer, providing operational information on resources being consumed by a given function or load object
  • Runtime checking, for detecting memory access errors and memory leaks
C Compiler Features
  • Standards conformance: ISO C90, C99 (Solaris 10)
  • K&R C language dialect support and compatibility and mixed mode (K&R and ANSI C) translation capabilities
  • OpenMP C v2.5 API support
  • Automatic and manual Precompiled Header support
  • Thread Local Storage for multithreaded applications
  • Lint security checks for robust application development
  • Garbage collection library for heap management and runtime detection of leaks
  • Highly optimized
  • Auto-parallelization for loops
C++ Compiler Features
  • Support for ISO/IEC 14882:1998 and 2003 C++ Standard
  • Compatibility mode for easy migration from ARM style code to ANSI C++ code
  • Binary compatibility maintained for both ARM and ANSI C++ code for easy upgrade to a newer compiler or OS
  • OpenMP C/C++ v2.5 API support
  • Automatic and manual Precompiled Header support
  • Thread-local storage for MT application development
  • Choice of Sun-default C++ standard library and STLport
  • Garbage collection library for heap management and easy detection of runtime leaks
  • Support for BOOST library
  • Highly optimized
  • Auto-parallelization for loops
Fortran Compiler Features
  • Support for Fortran standards: ANSI X3.198.1992 Fortran 90, ISO 1539:1991 Fortran 90, ISO/IEC 1539:1997 Fortran 95, and emerging Fortran 2003
  • Cray-style language extension (for example, Cray POINTER)
  • Compatibility for old-style Fortran 77 programs
  • Sun and Cray-style parallelization directives support
  • OpenMP v2.5 Fortran API support
  • Global program checker across multiple program files
  • Automatic loop parallelization
Sun Performance Library Features

Offering optimized, high-speed mathematical subroutines for solving linear algebra and other numerically intensive calculations, including:

  • LAPACK v3.0
  • BLAS 1, 2, 3
  • Netlib Sparse BLAS
  • NST Fortran Sparse BLAS v0.5
  • Fast Fourier Transform (FFT) routines
  • Convolution and correlation routines
  • Support for single processor or multiprocessor systems
  • Hotspot tuning for BLAS routines
  • SPARC, x86, and AMD64 specific optimization
Distributed Make (dmake)
  • Integrated into IDE
  • Works in serial, parallel, and distributed modes
  • Available for Solaris OS 9 and 10, SUSE Linux Enterprise Server 9 (with Service Pack 3), and Red Hat Enterprise Linux 4
  • Sun Grid Engine support and integration
  • GNU makefile support (partial)
NetBeans-Based IDE

The NetBeans 5.5-based IDE (InfoWorld 2007 Jolt Award recipient) provides a rich, integrated tool set for creating cross-platform desktop, enterprise, and web applications. Features include:

  • Wizards to assure first-hour productivity
  • Logical source browsing: classview
  • GUI Editor
  • C/C++ integration in editor
  • Debugger (dbx) integration
  • Performance Analyzer tool integration
  • Thread Analyzer tool integration
  • Version control system integration
dbx Debugger
  • Supports C, C++, Fortran, and Java
  • Multisession, multithread aware
  • Recognizes stabs and DWARF
  • Recognizes gdb commands
  • Fully scriptable
  • Command-line and GUI interfaces
  • Seamlessly debugs apps composed of both Java and native code
  • Support for Solaris threads and LWPs
  • Support for OpenMP
  • Linux POSIX threads library
Runtime Checking (part of dbx)
  • Detects memory access errors
  • Detects memory leaks
  • Collects data on memory use
  • Works with all languages
  • Works with multithreaded code
  • Requires no recompiling, relinking, or makefile changes
  • Integral debugging features, so these can be mixed with all other debugging operations
Thread Analyzer

Detects data races and deadlocks in multithreaded applications. Such bugs are notoriously difficult to detect. In the case of a 61,000-line Fortran program, it took several engineers six weeks to find the data race problem using traditional debugging methods. With the Sun Studio Thread Analyzer, the data race was detected within several hours. Features include:

  • Compatible with OpenMP, Pthreads, and Solaris Threads
  • Works on Solaris (SPARC, x86/x64) and Linux platforms
Performance Analyzer

Provides information on resources consumed by a given program--which functions or load objects are consuming the most resources, and which resources are being consumed by a given function or load object. Features include:

  • Supports C, C++, Fortran, and Java code
  • IDE integration
  • Thread Analyzer integration
  • Works with unmodified binaries
  • Provides performance information at function level, instruction level, and source-line level (recompile with -g)
  • Supports multithreaded programs, including automatic parallelization and explicit parallelization using OpenMP, MPI, and Pthreads
Proven Performance

Sun Studio has set more than 25 world records in the past 12 months alone, with more to come:

  • Significant lead over GCC:
    • 18%-52% on SPARC (SPEC)
    • 11%-18% on x86/AMD (SPEC)
    • 70%+ on STREAM
     
  • Sun Studio 12 improvements over Sun Studio 11 (x86):
    • 15% estimated improvement on SPECint2006 (64-bit mode)
    • 10% estimated improvement on SPECfp2006 (64-bit mode)
    • 17% estimated improvement on SPECint2006 (32-bit mode)
    • 20% estimated improvement on SPECfp2006 (32-bit mode)
     
  • Sun Studio 12 improvements over Sun Studio 11 (SPARC):
    • 12% estimated improvement on SPECint2006 (UltraSPARC IIIi)
Free Download

Take Sun Studio 12 out for a spin today!

Sun Studio Web Site

Visit the Sun Studio web site to download the latest preview release and to subscribe to the Sun Studio RSS newsfeed.

Sun Studio Express: Preview Development Builds

The Sun Studio team offers interim development builds of future Sun Studio product releases. These builds allow you to preview and provide feedback on new features and enhancements under development.

Express builds are fully functional, preview software. The focus is on new features being introduced into the Sun Studio product. The intent is to collaborate with the developer community by gathering feedback through the Sun Studio forums and the bug/RFE (request for enhancement) database. Visit the Sun Studio Express downloads page for more information.

Community and Support

Sun Studio offers not only a rich developer community, but also the support and backing of Sun Microsystems. "In addition to Sun Studio's thriving community of users," says Vijay Tatkar, Senior Engineering Manager at Sun Microsystems, "Sun provides world-class support. The guys that you get support from are the same guys who are developing the tools, which is often not the case in open-source land--where the vendor providing the support is usually not the vendor developing the tools."

Conclusion

Sun Studio is squarely focused on where the industry is going and where systems are going--providing a single source for Solaris and Linux development, with an emphasis on multicore, multithreaded processing. "We do more optimizations, and we offer better performance, than virtually any compilers out there," says Tatkar, "and we have world records to prove it. Also, it's a much more complete tool set. There isn't a single place out there in Linux land where you'll find this combination of compilers and tools--with Fortran, with dbx, with Performance Analyzer, with an IDE, with Thread Analyzer. And they're all integrated, they all work with one another, so you don't have to worry about mixing and matching the features that you need."

For More Information
About the Author

Steven Meloan has covered the Web and the Internet for such publications as Wired, Rolling Stone, Playboy, and the San Francisco Examiner. He has also written for American Cybercast's award winning Web Episodic, "The Pyramid."

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.