Main Content

本页采用了机器翻译。点击此处可查看英文原文。

mpiprofile

配置文件并行通信和执行时间

语法

mpiprofile
mpiprofile on <options>
mpiprofile off
mpiprofile reset
mpiprofile viewer
mpiprofile resume
mpiprofile clear
mpiprofile status
stats = mpiprofile('info')
mpiprofile('viewer',stats)

说明

mpiprofile 启用或禁用在并行池中运行的 MATLAB® 工作进程上的并行探查器数据收集。您可以从 MATLAB 客户端使用 mpiprofile,也可以直接从 spmd 代码块内的工作进程使用该函数。当您从 MATLAB 客户端运行 mpiprofile 时,mpiprofile 会对 MATLAB 工作进程执行操作。

mpiprofile 汇总执行时间和通信时间的统计数据。mpiprofile 以类似于在每个 MATLAB 工作进程上运行 profile 命令的方式收集统计数据。默认情况下,并行分析扩展包括用于收集与其他每个工作进程通信的信息的数组字段。

mpiprofile on <options> 启动并行探查器并清除先前记录的配置文件统计数据。

mpiprofile 采用以下选项。

选项描述

-messagedetail default

-messagedetail simplified

-messagedetail off

此选项指定存储通信信息的详细信息。

-messagedetail default 收集每个工作实例的信息。

-messagedetail simplified 关闭了 *PerLab 数据字段的收集,从而减少了分析开销。如果您有一个非常大的集群,您可能需要使用此选项;但是,您将无法在查看器中获得所有详细的工作人员间通信图。

请注意,更改 -messagedetail 将清除任何先前存储的数据。

有关返回数据的结构的信息,请参见下面的 mpiprofile info

-history

-nohistory

-historysize <size>

mpiprofile 以与标准 profile 相同的方式支持这些选项。

mpiprofile 不支持任何其他 profile 选项。这三个选项对 mpiprofile viewer 显示的数据没有影响。

mpiprofile off 停止并行探查器。要重置探查器的状态并禁用收集通信信息,请使用 mpiprofile reset

mpiprofile reset 关闭并行探查器并将数据收集重置回标准探查器。如果不调用 reset,后续的 profile 命令将收集 MPI 信息。

mpiprofile viewer 停止探查器并使用并行选项打开图形配置文件浏览器。输出是显示在探查器窗口中的 HTML 报告。函数配置文件页面底部的文件列表显示了每行代码左侧的几列。在摘要页面中:

  • 第 1 列表示该线路的呼叫次数。

  • 第 2 列表示在该线路上花费的总时间(以秒为单位)。

  • 第 3-6 列包含特定于并行探查器的通信信息。

mpiprofile resume 重新启动探查器而不清除先前记录的函数统计信息。

mpiprofile clear 清除个人配置文件信息。

mpiprofile status 返回并行探查器的状态。

stats = mpiprofile('info') 停止并行探查器并返回包含探查器统计信息的结构。stats 包含与 profile('info') 返回的相同字段,并在 FunctionTable 条目中包含以下附加字段。除 *PerLab 字段外,所有这些字段都是按函数和按行记录的。

字段描述
BytesSent记录发送的数据量
BytesReceived记录收到的数据量
TimeWasted记录通信等待时间
CommTime记录通信时间
CommTimePerLab每个工作进程的通信接收时间向量
TimeWastedPerLab每个工作进程的通信等待时间向量
BytesReceivedPerLab从每个工作进程接收到的数据向量

三个 *PerLab 字段仅基于每个函数进行收集,您可以通过键入以下命令将其关闭:

mpiprofile on -messagedetail simplified

当您从 MATLAB 客户端运行它时,stats = mpiprofile('info') 会返回来自所有工作进程的信息。当在某个工作进程上运行它时,mpiprofile('info') 将返回特定于该工作进程的配置文件信息。

mpiprofile('viewer',stats) 打开图形配置文件浏览器,显示 stats 中包含的配置文件信息。您可以在客户端使用 stats = mpiprofile('info') 来创建结构数组。

mpiprofile 不接受 -timer clock 选项,因为通信定时器时钟必须是真实的。

有关使用并行探查器的更多信息和示例,请参阅 探查并行代码

示例

全部折叠

打开探查器。使用默认首选项时,如果尚未创建并行池,则打开探查器将自动创建一个并行池。

mpiprofile on

运行您的并行代码。

A = rand(1000,'distributed');
b = sum(A, 2);
x = A\b;

显示收集的配置文件信息。

mpiprofile viewer

并行探查器收集有关每个工作进程上的代码执行以及工作进程之间的通信的信息。使用 mpiprofile 配置文件并行代码后,通过调用 mpiprofile viewer 启动图形查看器。

R = rand(1e3,'distributed');
mpiprofile on
R = R*R;
mpiprofile viewer

查看器有三种类型的页面或视图

并行配置文件查看器首先打开函数摘要报告,方式与标准配置文件查看器相同。在此视图中,您可以同时查看来自任何单个实验室或多个实验室的配置文件信息。它最初显示在实验室 1 上执行的所有函数。然后,您可以通过列表框选项选择查看任何实验室的分析信息。

在此视图中,您可以使用手动比较选择列表框查看汇总信息。当您在此视图中选择一个聚合时,探查器将累积并显示有关所有已执行函数的指定数据。例如,

  • max Time Aggregate 列出了程序中调用的每个函数,以及每个函数执行时间最长的实验室的数据。

  • min Time >0 Aggregate 列出了程序中调用的每个函数,以及每个函数执行时间最少的实验室的统计信息。

The Manual Comparison Selection listbox, showing the comparison options min total time, min comm time, min time >0 aggregate, max total time, max comm time, and max time aggregate.

在此观点中,需要记住以下几点:

  • 要按不同字段对表重新排序,只需点击相关的列标题(例如总通信时间)。

  • 要选择一个函数并转到函数详细报告,请点击函数名称列中出现的任意函数名称。

  • 要比较不同实验室的分析信息,请使用比较列表框和按钮(位于每页的顶部)。比较信息始终以栗色字体显示。

  • 要查找主要分析数据(黑色或蓝色文本)来自哪个实验室,请查看显示页面顶部或顶部工具栏中以橙色突出显示的文本。

函数详细报告显示每个实验室当前函数内执行的各个行的信息。这包括一个 Busy Lines 表,可用于比较不同实验室的前五行代码。仅当客户端 MATLAB 路径上提供有分析的 MATLAB 文件时,此报告才可以完全发挥作用。

函数详细报告与函数摘要报告有以下几个不同之处:

  • 每次针对一个函数生成报告。函数名称显示在页面顶部,以绿色或橙色显示。绿色突出显示表示该函数在通信上花费的时间很少(或没有)。橙色突出显示表示超过 20% 的时间用于通信或等待通信。

  • 每个列表框选项都会考虑您最后点击的函数。如果需要,可以通过点击顶部工具栏中的 Home 按钮来更改当前函数,这也会带您返回到函数摘要报告。

  • 来自多个实验室的配置文件信息汇总仅基于每个函数进行计算。因此,在函数详细报告中,选择最大时间聚合将显示执行当前函数最长的实验室的信息。

  • 仅可在 Busy Lines 表中显示的前五行(除非存在父表,否则从顶部开始的第一个表)中比较分析信息。

每当您点击显示图形列表框中的绘图选项时,就会显示绘图视图。该图显示了给定函数的所有实验室的通信和时间信息。有两种类型的图表(直方图和每个工作进程的图像)。绘制时间直方图绘制所有每个工作进程通信选项使用 mpiprofile info 命令返回的相应通信字段显示三个图形。

  • 绘制时间直方图显示总时间、总通信时间和通信等待时间的直方图。

  • 绘制所有每个工作人员的通信显示接收数据、接收通信时间和通信等待时间的 2D 彩色编码图像图。

  • 显示图形列表框中的绘制每个工作人员的通信时间选项仅显示接收通信时间图表,因此生成速度更快。

按函数或会话进行绘图

绘图有两种模式:

  • 整体会话绘图:如果您处于函数摘要报告中并且没有选择任何函数,则会为所有执行的代码生成图表(打开探查器)。

  • 按函数绘图:如果您在选择了一个函数之后进入函数详细报告,点击任意一个可用的图(在下面显示的列表框中)都会带您进入该函数特定的图视图

通过查看每个图形的标题,您可以随时判断您正在使用哪种绘图模式。标题显示当前函数的名称(或显示整个会话的数据时显示所有函数的名称)。标题还包括所显示的分析字段的名称(例如,通信时间、总时间)。如果在选择了特定函数之后想要查看整个分析会话的数据,请点击 Home 返回到函数摘要报告,然后选择所需的图表(使用下面显示的列表框)。

The Show Figures (all workers) listbox showing the no plot, plot time histograms, plot all per worker communication, and plot communication time per worker options.

版本历史记录

在 R2007b 中推出