中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

示例8:OpenMP精细化分析

简介

本示例主要通过对OMP应用,通过鲲鹏DevKit系统性能分析工具的HPC应用分析下的OpenMP模式下的精细化分析,让用户清晰的了解到应用在各个时间段的调用栈信息及PMU事件信息。

环境准备

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

分析过程

  1. 代码样例准备

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

    gcc memory_bound.c -O3 -o memory_bound -fopenmp -lm  && chmod 777 memory_bound
  2. 创建HPC应用分析任务,并启动分析。
    表1 任务配置参数说明

    参数

    说明

    分析对象

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

    应用路径

    输入程序所在的绝对路径,例如本示例将代码样例放在服务器“/opt/testdemo/memory_bound”路径下。

    分析类型

    HPC应用分析

    采集模式

    OpenMP模式;本示例主要是对OMP的应用进行分析。

    OpenMP分析模式

    精细化分析

    采样时长

    10秒

    统计更多调用栈信息

    开启

  3. 查看分析结果。
    图1 OpenMP精细化分析 OpenMP timeline

    图1所示 OpenMP timeline会展示当前应用所占用的线程,标记关键线程,可拖动上方时间轴查看对应时间区间数据展示,也可通过下拉框筛选关键线程。

    图2 选择线程的region

    图2选择不同的region色块可以看到当前线程,在一段时间内的PMU事件信息,包括调用栈信息,以及Top-Down数据信息。

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

当前产品无相关内容

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