1. Introducing The Oracle Solaris Studio 12.2 Release
New/Changed Features Common To The Compilers
8. Known Problems, Limitations, and Workarounds in This Release
The following lists the new and changed features for the OpenMP 3.0 shared memory API implemented by the C, C++, and Fortran compilers in this release. For details, see the Oracle Solaris Studio 12.2: OpenMP API User’s Guide.
Support for OpenMP debugging in the dbx Debugger. The following enhancements have been made to dbx:
New commands for displaying information on OpenMP regions, tasks, and thread sets.
Extensions to the print —s, thread —info, whatis, and where commands
New OpenMP synchronization events.
Autoscoping has been extended to task regions. This feature relieves the programmer of explicitly determining the scopes of variables in a parallel or a task region. The compiler determines the scopes of variables by analyzing the code and applying some smart rules.
The new SUNW_MP_WAIT_POLICY environment variable improves the waiting behavior of threads in the program, and allows the programmer to have fine control over the behavior of threads that are waiting for work (idle), waiting at a barrier, or waiting at taskwait.
New functionality has been added to the SUNW_MP_WARN OpenMP environment variable: In addition to controlling warning messages issued by the OpenMP runtime library, when SUNW_MP_WARN is set to TRUE, the runtime library outputs the settings of all environment variables for informational purposes, including environment variables that are explicitly set by the user, as well as those that are set by default by the library.
The behavior controlled by the SUNW_MP_PROCBIND environment variable has changed on Oracle Solaris platforms: Setting SUNW_MP_PROCBIND to TRUE binds the main thread to the processor it is running on at the binding moment. The binding moment is the first encounter of a parallel region or the first call to a OpenMP runtime routine such as omp_set_num_threads(). The slave threads are bound in a round-robin fashion starting from the processor that the main thread is bound to.
Use the Thread Analyzer tool to detect data races and deadlocks in an OpenMP program. In this release, the Thread Analyzer functionality has been extended to detect data races in binaries without the need to recompile. Refer to the Oracle Solaris Studio 12.2: Thread Analyzer User’s Guide for details.