文档
注册

Profiling数据采集

操作须知

  • 当前MindStudio不支持集群场景的数据采集,可通过Merge Reports导入已采集的PROF_XXX的父目录来展示集群场景性能数据。

    有关集群场景Profiling数据采集请参见性能分析工具使用指南的“高级功能 > 集群场景下的Profiling”章节。

  • 用户通过训练工程采集数据,需要在训练工程的环境变量脚本文件env_*.sh内添加PROFILING_OPTIONS字段的配置信息,示例如下:
    export PROFILING_MODE=true
    export PROFILING_OPTIONS='{"output":"/tmp/profiling","training_trace":"on","task_trace":"on","fp_point":"","bp_point":"","aic_metrics":"MemoryL0"}'

    其中output参数指定的路径为Profiling在服务器端执行采集后输出的性能数据,最终会将性能数据拷贝到Project Location参数指定的路径下并生成供MindStudio展示的json结果文件。

    PROFILING_OPTIONS字段为配置Profiling的采集项,请根据实际情况选择需要的参数。有关训练工程的脚本中添加Profiling配置的参数详细介绍请参见性能分析工具使用指南的“附录 > Profiling options参数解释”。

操作步骤

  1. 在欢迎界面的左侧导航栏单击“Projects”,单击选择并打开已编译完成的工程。
  2. 单击菜单栏Ascend > System Profiler > New Project,弹出Profiling配置窗口。
  3. 进入Profiling配置窗口,如图1。配置“Project Properties”,配置工程名称“Project Name”和选择工程路径“Project Location”。单击“Next”进入下一步。
    图1 Project Properties配置
    表1 Project Properties参数说明

    参数

    说明

    Project Name

    Profiling工程名称,用户自定义。配置后在Project Location的MindstudioProjects目录下自动创建Profiling工程名称文件夹,后续Profiling采集和解析产生的原始性能数据目录PROF_XXX和解析结果.json文件均保存在该目录下。解析结果.json文件命名格式为:report_{时间戳}_{device_id}_{model_id}_{iter_id}.json,其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID号。

    Project Location

    Profiling数据输出路径。完成Profiling采集后在路径下生成以“Project Name”命名的文件目录。

  4. 进入“Executable Properties”配置界面,可选择Remote Run和Local Run两种模式,并根据指定的工程目录“Project Path”识别对应的工程类型。如下各图所示。
    图2 Remote Run(推理应用工程)
    图3 Remote Run(推理算子工程)
    图4 Remote Run(训练工程)

    配置完成后,Deployment和对应的Environment Variables、Remote Toolkit Path参数为绑定关系,单击“Next”后参数值将被保存。再次配置时,如连接已配置过的Deployment,则Environment Variables、Remote Toolkit Path参数自动填充,可手动修改。

    图5 Local Run(推理应用工程)
    图6 Local Run(推理算子工程)
    图7 Local Run(训练工程)
    表2 Executable Properties参数说明

    参数

    说明

    Run Mode

    • Remote Run:远程运行。
    • Local Run:本地运行。

    Windows使用场景下仅支持Remote Run。

    Deployment

    运行配置,选择Remote Run模式时可见,必选配置。通过Deployment功能,可以将指定项目中的文件、文件夹同步到远程指定机器的指定目录,具体可参见Deployment

    Project Path

    执行Profiling目标工程目录,必选配置。

    可根据指定的目标工程识别工程类型:

    • Ascend App:表示指定的目标工程为推理应用工程。
    • Ascend Operator:表示指定的目标工程为推理算子工程。
    • Ascend Training:表示指定的目标工程为训练工程,此时可直接单击“Start”按钮启动Profiling。

    Executable File

    执行Profiling目标工程的可执行文件,必选配置。

    需指定为Project Path子目录下的可执行文件。

    支持指定二进制脚本文件、Python脚本文件和Shell脚本文件。

    指定Python脚本文件时由于msprof工具的限制有如下要求:

    • pyacl工程中的Python脚本中的路径信息必须为绝对路径。
    • 不支持异步接口(接口名以async结尾)的调用。

    指定Shell脚本文件由用户自行提供,且无需保存在Project Path目录下。

    Command Arguments

    用户APP的执行参数,由用户自行配置,参数之间用空格分隔,默认为空。

    Environment Variables

    环境变量配置。可直接手动配置或单击符号,在弹出窗中配置管理。可选配置。

    Remote Toolkit Path

    远端运行环境toolkit软件包安装路径,选择Remote Run模式时可见,必选配置。例如配置为${HOME}/Ascend/ascend-toolkit/{version}/toolkit。

    与Deployment参数为绑定关系,单击“Next”后参数值将被保存。再次配置时,如连接已配置过的Deployment,则参数自动填充,可手动修改。

    CANN Version

    指定CANN软件包版本,选择Local Run模式时可见,必选配置。

    在启动MindStudio创建工程时指定,若未指定则需单击“Change”按钮指定对应CANN软件包安装路径。

  5. 进入“Profiling Options”配置界面,其中配置AI Core Profiling时分为Task-based和Sample-based场景。如图8图9所示。
    图8 Task-based场景
    图9 Sample-based场景
    表3 Profiling Options参数说明

    参数

    说明

    AI Core Profiling

    Task-Based

    AI Core采集开关,以task为粒度进行性能数据采集。默认值为Pipeline Utilization。

    • Pipeline Utilization:采集计算单元和搬运单元耗时占比。
    • Arithmetic Utilization:cube和vector的指令类型耗时占比。
    • UB/L1/L2/Main Memory Bandwidth:UB/L1/L2/主存储器采集内存读写带宽速率。
    • L0A/L0B/L0C Memory Bandwidth:L0A/L0B/L0C采集内存读写带宽速率。
    • UB Memory Bandwidth:mte/vector/scalar采集ub读写带宽速率。

    Sample-Based

    AI Core采集开关,以固定的时间周期(AI Core-Sampling Interval)进行性能数据采集。默认值为Pipeline Utilization。

    • Pipeline Utilization:采集计算单元和搬运单元耗时占比。
    • Arithmetic Utilization:cube和vector的指令类型耗时占比。
    • UB/L1/L2/Main Memory Bandwidth:UB/L1/L2/主存储器采集内存读写带宽速率。
    • L0A/L0B/L0C Memory Bandwidth:L0A/L0B/L0C采集内存读写带宽速率。
    • UB Memory Bandwidth:mte/vector/scalar采集ub读写带宽速率。
    • Frequency(Hz):采集频率,取值范围为[1, 100],默认值为100,单位Hz。

    MsprofTX

    MsprofTX

    控制MsprofTX用户和上层框架程序输出性能数据采集的开关。可选配置,默认关闭。

    API Trace

    AscendCL API

    AscendCL(Ascend Compute Language)采集开关,采集接口流水信息。默认开启,不可关闭。

    Runtime API

    Runtime采集开关,采集运行管理器接口流水信息。可选配置,默认关闭。

    OS Runtime API

    系统运行时函数库API和Pthreads API的调用。可选配置,默认关闭。

    说明:

    采集OS Runtime API调用数据需要安装第三方开源工具perf和ltrace,参见使用前准备。使用开源工具ltrace采集OS Runtime API调用数据会导致CPU占用率过高,其与应用工程的pthread加解锁相关,会影响进程运行速度。

    Graph Engine (GE)

    Graph Engine采集开关,采集模型图引擎调度流水信息。默认开启,不可关闭。

    AICPU Operators

    AI CPU采集开关,采集aicpu数据增强的Profiling数据。可选配置,默认关闭。

    Device System Profiling

    DDR

    采集DDR数据。可选配置,默认关闭。

    可以更改采样频率Frequency(Hz),取值范围为[1, 1000],默认频率为50Hz。

    Host System Profiling

    CPU

    采集Host侧CPU资源利用率信息。可选配置,默认关闭。

    Memory

    采集Host侧Memory资源利用率信息。可选配置,默认关闭。

    Disk

    采集Host侧Disk资源利用率信息。可选配置,默认关闭。

    说明:

    采集Disk调用数据需要安装第三方开源工具iotop。参见使用前准备

    Network

    采集Host侧Network资源利用率信息。可选配置,默认关闭。

    HCCL

    HCCL

    控制HCCL数据采集开关。可选配置,默认关闭。

    当前采集完成后,默认导出对应迭代数目最多模型号(Model ID)的第一轮迭代数据。

  6. 完成上述配置后单击窗口右下角的“Start”按钮,启动Profiling。

    工程执行完成后,MindStudio自动弹出Profiling结果视图。

搜索结果
找到“0”个结果

当前产品无相关内容

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