Sun Studio Performance Analyzer and MPI
The Sun Studio Performance Analyzer
The Sun Studio Performance Analyzer integrates many forms of performance analysis – such as attributing time to user source code, identifying important callers and callees of functions, tracing memory allocations and detecting leaks, monitoring hardware counters, etc. – with MPI performance analysis.
MPI features
For full functionality and latest features, be sure to upgrade to the latest version. Sun Studio is available for free download on Linux and Solaris systems.
- timeline view of execution and MPI message lines
- message and byte counts
- attribution to user functions that called MPI
- easy-to-use interface to construct "arbitrary" statistical charts
- characterization of time spent in MPI as "wait" or "work" (only with Sun HPC ClusterTools MPI)
- ability to hide or expose details of the underlying MPI implementation
- filtering to examine subsets of MPI trace data
Overview of usage
- Program compilation: No special compilation is needed. Additional functionality is available, however, if you compile with:
- symbolic information: Use -g to include symbolic information. This allows more useful analysis, such as the attribution of performance metrics to individual source lines.
- preserving the frame pointer: On x86 systems, if you see too many <static> or <Unknown> functions during analysis, instruct the compiler to use the frame pointer register for monitoring the stack:
- -fno-omit-frame-pointer (GCC compilers)
- -xregs=no%frameptr (Sun Studio compilers)
- Data collection: Instead of running
% mpirun -np 4 ./a.out
run
% collect -M CT8.2 mpirun -np 4 -- ./a.out
where:
- collect: collects performance data for use with Analyzer
- -M: turns on MPI tracing; legal switch values include CT8.2, CT8.1, CT8, CT7, CT7.1, OPENMPI, MPICH2, MVAPICH2, and off
- --: separates the MPI launch command and its arguments from the name of the MPI executable and its arguments
- Analysis: Run the Analyzer on your newly created performance data – e.g.,
% analyzer test.1.er
Make sure you have Java 2 Software Development Kit (JDK) 6, Update 3 or newer in your execution path.
Links
- Sun Studio home page and download
- Sun Studio Performance Analyzer
- screen cast
- technical article
- tutorial
- case study of memory profiling
- man pages for collect, analyzer, and the er_print command-line tool
- details on chart controls
Screenshots
For more information on these sample screenshots, see the technical article.
| Timeline displays |
![]() |
![]() |
| Statistical charts |
![]() |
![]() |
| Source code analysis |
![]() |
![]() |





