中文
注册

示例6:MPI+OpenMP精细化分析

简介

本示例主要通过对MPI应用,通过鲲鹏性能分析工具的HPC应用分析,采集模式为MPI / MPI+OpenMP混合模式下的精细化分析,让用户清晰的了解到应用在各个rank下的通信状态。

环境准备

  1. 请确认服务器上的CPU是否为Kunpeng 920,操作系统内核为4.19及以上或patched openEuler 4.14内核及以上。
  2. 请确认服务器上GCC版本是否为7.3.0及以上。
  3. 请确认服务器上是否已安装鲲鹏DevKit系统性能分析工具。
  4. 请从Github下载代码样例ring.c,执行以下命令赋予所有用户可读、可写和可执行权限。
    chmod 777 ring.c

分析过程

  1. 代码样例准备。

    编译ring.c,并赋予可执行文件所有用户可读、可写和可执行权限。

    mpicc ring.c -O3 -o ring -fopenmp -lm && chmod 777 ring
  2. 创建HPC应用分析任务,分析当前应用。

    本示例要分析确定MPI程序,所以不需要在服务器上运行程序,而是直接在工具中选择需要运行的程序,当前是mpi_cost程序。

    表1 配置参数说明

    参数

    说明

    分析对象

    应用

    模式

    Launch Application

    应用路径

    输入程序所在的绝对路径,例如本示例将代码样例放在服务器“/opt/testdemo/mpi/ring”路径下(多节点环境下应用在对应目录下存在)。

    分析类型

    HPC应用分析

    采集模式

    MPI/MPI+OpenMP混合模式;本示例主要是对MPI的应用进行分析,所以选择MPI/MPI+OpenMP模式。

    共享目录

    单节点情况下填入系统存在的目录,多节点情况下需填入节点间的共享目录;例如本示例是在两个节点下进行采集所以填入节点间的共享目录“/home/share”。

    mpirun所在路径

    mpirun命令所在绝对路径。

    MPI / MPI+OpenMP混合模式

    精细化分析

    采样时长

    20秒

    其他参数

    默认;用户名和密码等参数需按实际配置。

  3. 查看分析结果。
    图1 rank to rank热力图

    图1所示,点击查看rank-to-rank 热力图,(ranki,rankj)对应数据为ranki发往rankj的数据加ranki接收自rankj的数据。在左侧图中使用鼠标框选需要查看的范围;右图为左侧框选的详细内容,点击按钮可放大缩小,也可通过鼠标滑轮控制。

    图2 选择通信域

    选择通信域弹窗中可点击搜索“通信域名称”和“通信域成员”,点击对“通信域成员”排序,点击“查看详情”可查看通信域信息弹窗。

    图3 node to node热力图

    当统计对象为Node To Node时,可以查看当前Rank的本地占比、跨DIE占比和跨片占比等信息。

    图4 Top N低效通信

    Top N低效通信默认展示当前Top 100的数据,选择rank可以查看当前rank的低效通信占比,和其关联rank的低效通信占比。

    图5 MPI timeline

    选择不同的色块可以看到当前rank的通信模式,以及当前rank通信的持续实践,通信延迟时间。

    图6 MPI timeline-rank

    点击rank在某一时间段的region色块,显示在当前时间段内的PMU事件信息。

  • 如果任务执行失败,“任务信息”界面上会显示任务失败的原因。
  • 如果任务执行成功,但有部分不影响整体的数据采集失败,可查看“异常信息”。
  • “采集结束原因”可表明当前任务数据采集结束原因,如“到达任务采集时间”等。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词