Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Studio 12.3: Thread Analyzer User's Guide Oracle Solaris Studio 12.3 Information Library |
1. What is the Thread Analyzer and What Does It Do?
A. APIs Recognized by the Thread Analyzer
Tips for running an instrumented application to detect data races and deadlocks.
Make sure that the Oracle Solaris system has all the required patches installed. The collect command lists any missing required patches. For OpenMP applications, the latest version of libmtsk.so is required.
If you get an error message from collect saying that the -r race or -r deadlock argument is not recognized, you are using an older version of collect that does not support the Thread Analyzer. You can check the version of collect you are using by typing the collect -Version command. The earliest version that supports Thread Analyzer is dated June 2006.
Instrumentation might cause a significant slowdown in execution time, 50 times or more, and an increase in memory consumption. You can try reducing the execution time by using a smaller data set. You can also try reducing the execution time by increasing the number of threads.
To detect data races, make sure that the application is using more than one thread. For OpenMP, the number of threads can be specified by setting the environment variable OMP_NUM_THREADS to the desired number of threads, and setting the environment variable OMP_DYNAMIC to FALSE.