跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:性能分析器 MPI 教程 Oracle Solaris Studio 12.3 Information Library (简体中文) |
适用于 Oracle Solaris 10 和 Linux 的 MPI 软件
适用于 Oracle Solaris 11 的 MPI 软件
用于 ClusterTools 和 Open MPI 的样例代码
用于 Oracle Solaris 11 中 Oracle Message Passing Toolkit 的样例代码
单击 "MPI Timeline"(MPI 时间线)标签中的一个 MPI_Recv 函数事件。
该函数将以黄色突出显示,有关该函数的详细信息将显示在右侧的 "MPI Timeline Controls"(MPI 时间线控件)标签中。
在 "MPI Timeline Controls"(MPI 时间线控件)标签中,您可以看到调用堆栈。如果看到标签为 "Show Call Stack if available"(显示调用堆栈(如果有))的按钮,请单击该按钮。
几分钟后,所突出显示的状态的调用堆栈将显示在 "MPI Timeline Controls"(MPI 时间线控件)标签中:
"MPI Timeline Controls"(MPI 时间线控件)标签中显示 "Call Stack for Selected Event"(所选事件的调用堆栈)后,单击 main + 0x00000198, line 53 in "ring_c.c。
单击性能分析器主面板中的 "Source"(源)标签。
如果收到 Object file (unknown) not readable 这类消息,请确保您选中了堆栈帧 main + 0x00000198, line 53 in "ring_c.c。
注 - 仅当源位于通过收集器运行程序时它所在的位置时,或者位于在 .er.rc 或 "View"(视图)> "Set Data Presentation"(设置数据显示)> "Search Path"(搜索路径)中设置的 $expts 路径中时,源才可见。此外,还需要使用 -g 编译源。如果源代码不可见,可能是您未从包含 ring_c 二进制文件和源代码的目录启动分析器。如果是这种情况,请退出性能分析器,转到包含 ring_c 的目录,然后重新启动分析器。
如果源可见,它应显示 main() 调用 MPI_Recv() 函数的位置。如下所示,源中的第 53 行调用了 MPI_Recv()。值较高的度量会突出显示:与第 53 行关联的接收次数为 274,与第 60 行的 MPI_Send() 关联的发送次数为 274。
提示 - 屏幕抓图中显示的是精简后的度量。您可以通过选择 "View"(视图)> "Set Data Presentation"(设置数据显示)> "Metrics"(度量),选择更多要显示的度量。
单击性能分析器主面板中的 "Functions"(函数)标签。
"Functions"(函数)标签在表的左侧列中显示相同的 MPI 发送和 MPI 接收度量。您可以单击列标题对该表进行排序。
提示 - 屏幕抓图显示了 "Functions"(函数)标签中精简后的度量。通过选择 "View"(视图)> "Set Data Presentation"(设置数据显示)> "Metrics"(度量)可选择要显示的度量。
单击 "MPI Timeline"(MPI 时间线)标签返回到 MPI 时间线。
请勿单击常规 "Timeline"(时间线)标签,因为它不适用于 MPI 程序。