Using Sun Studio 12 on UltraSPARC T1- and T2-based Systems

By Sun Studio Engineering Staff, Updated October 9, 2007  

With the advent of the UltraSPARC T1, the dawn of multicore architectures reached the enterprise market. The latest T2 Sun Fire Servers with CoolThreads Technology have up to 8 cores and 64 threads. While these systems with their immense throughput performance can effectively run more separate applications simultaneously, they also can provide increased scalability opportunities to developers multi-threading their applications. Coupled with the latest Sun Studio software, developers can utilize multicore optimizing C, C++, and Fortran compilers, reduce software build times, and maximize application performance by building parallel applications.

While one can utilize all of Sun Studio's features on CoolThreads systems during development, server operations that utilize its parallelism, such as distributed make ( dmake), perform exceptionally well. Other features, particularly those intended to be used on a desktop, such as the Sun Studio IDE, only use a subset of the available performance. This developer tip indicates how to best use Sun Studio in developing applications for CoolThread systems. Additional information related to additional tools for T1/T2 application selection, development, tuning, debugging, and deployment is available on the Cool Tools page.

MultiCore Optimizations

Sun Studio 12 compilers introduced new default optimizations for UltraSPARC multicore systems. For more information about picking the best compilation options for your applications, see Selecting the Best Compiler Options.

Distributed Make ( dmake)

dmake is a command-line tool, compatible with make. dmake can build targets in grid, distributed, parallel, or serial mode. If you use the standard make utility, the transition to dmake requires little if any alteration to your makefiles as dmake is a superset of the make utility. However, on CoolThread servers, you can use the parallel features in dmake to specify numerous jobs that take advantage of the chip multi-threading (CMT) architecture of the UltraSPARC T1 and T2.

For information about how to use dmake, see the Distributed Make ( dmake) manual.

Developing Parallel Applications

Parallel applications maximize multicore system performance. Parallel applications include:

  • Multiprocess Applications
  • Multithreaded Applications
  • Distributed Applications

Sun Studio compilers offer a variety of features, including automatic parallelization and multithread-aware libraries, to help get you started quickly. Sun Studio tools support the industry standard for multithreaded development, the OpenMP API, which provides multi-platform shared-memory parallel programming in C/C++ and Fortran across all architectures. Multithreaded development, including Solaris, Posix, and OpenMP threads, is supported across Sun Studio compilers and tools, providing the user-model context in the debugger (dbx), performance analyzer, and race detection (lock_lint) tools. Finally, coupled with Sun HPC ClusterTools Software, developers can create Message-Passing Interface (MPI) applications, which can be distributed in a variety of ways.

Visit Sun Studio Tools for Parallel Programming in Multi-Core Environments to learn more and to get started in parallel application development.