Oracle® Solaris Studio 12.4: OpenMP API User's Guide

Exit Print View

Updated: December 2014
 
 

2.5 Checking and Analyzing OpenMP Programs

Oracle Solaris Studio provides several tools to help debug and analyze OpenMP programs.

  • dbx is an interactive debugging tool that provides facilities to run a program in a controlled fashion and inspect the state of a stopped program. dbx provides several features that are tailored to OpenMP, such as single-stepping into a parallel region; printing of shared, private, and threadprivate variables in a region; printing information about parallel regions and task regions; and keeping track of synchronization events. Refer to Oracle Solaris Studio 12.4: Debugging a Program With dbx for more information.

  • Code Analyzer is a tool that provides static source-code checking as well as runtime memory access checking. Static errors detected include missing malloc() return value check, null pointer dereference, missing function return, and the like. Memory access errors detected include unallocated memory read/write, uninitialized memory read, freed memory read/write, and the like. Refer to Oracle Solaris Studio 12.4: Code Analyzer User’s Guide for more information.

  • Thread Analyzer is a tool for detecting data races and deadlocks in multithreaded applications. It works on applications written using OpenMP, POSIX threads, Oracle Solaris threads, or a combination of these. Refer to Oracle Solaris Studio 12.4: Thread Analyzer User’s Guide and the tha(1) and libtha(3) man pages for more information.

  • Performance Analyzer is a tool for analyzing application performance. The tool collects performance data based on statistical sampling of call stacks, and shows metrics of performance for functions, callers and callees, source lines, and instructions. The Performance Analyzer provides several features that are useful for understanding OpenMP performance, such as OMP work, OMP wait, and OMP overhead metrics, and user mode and machine mode views of the application. Refer to Oracle Solaris Studio 12.4: Performance Analyzer and the collect(1) and analyzer(1) man pages for more information.