torch_npu.profiler.ProfilerLevel

产品支持情况

产品 是否支持
Atlas A3 训练系列产品
Atlas A2 训练系列产品
Atlas 训练系列产品

功能说明

采集等级,Enum类型。用于作为_ExperimentalConfig类的profiler_level参数。

函数原型

torch_npu.profiler.ProfilerLevel

参数说明

  • torch_npu.profiler.ProfilerLevel.Level_none:可选参数,不采集所有Level层级控制的数据,即关闭profiler_level。

  • torch_npu.profiler.ProfilerLevel.Level0:可选参数,采集上层应用数据、底层NPU数据以及NPU上执行的算子信息。配置该参数时,仅采集部分数据,其中部分算子信息不采集,详细情况请参见《CANN 性能调优工具》中的“op_summary(算子详细信息)”章节。

  • torch_npu.profiler.ProfilerLevel.Level1:可选参数,在Level0的基础上多采集CANN层AscendCL数据和NPU上执行的AI Core性能指标信息、开启aic_metrics=torch_npu.profiler.AiCMetrics.PipeUtilization以及HCCL的communication.json和communication_matrix.json文件。

  • torch_npu.profiler.ProfilerLevel.Level2:可选参数,在Level1的基础上多采集CANN层Runtime数据以及AI CPU(data_preprocess.csv文件)。

默认值为torch_npu.profiler.ProfilerLevel.Level0。

返回值说明

调用示例

以下是关键步骤的代码示例,不可直接拷贝编译运行,仅供参考。

import torch
import torch_npu

...

experimental_config = torch_npu.profiler._ExperimentalConfig(
       profiler_level=torch_npu.profiler.ProfilerLevel.Level0
       )
with torch_npu.profiler.profile(
        on_trace_ready=torch_npu.profiler.tensorboard_trace_handler("./result"),
        experimental_config=experimental_config) as prof:
        for step in range(steps): # 训练函数
                train_one_step() # 训练函数
                prof.step()