Oracle Solaris Studio 12.2:性能分析器

OpenMP 分析的限制

在执行程序期间收集 OpenMP 数据开销可能很大。可以通过设置 SP_COLLECTOR_NO_OMP 环境变量来压低开销。如果这样做,程序执行时间将显著缩短,但是将看不到自从属线程向上传播到调用方并最终传播到 main() 的数据,而在未设置该变量时通常情况下将能看到这些数据。

在此发行版中缺省情况下启用 OpenMP 3.0 的新收集器。它可以分析使用显式任务的程序。只有在修补版本的 libmtsk.so 可用时,才可以使用该新收集器分析使用早期的编译器生成的程序。如果尚未安装此修补版本,可以通过设置 SP_COLLECTOR_OLDOMP 环境变量来将数据收集切换至使用旧收集器。

OpenMP 分析功能仅对使用 Oracle Solaris Studio 编译器编译的应用程序可用,因为它取决于 Oracle Solaris Studio 编译器运行时。对于使用 GNU 编译器编译的应用程序,仅显示机器级别的调用栈。