ascendebug提供了RunProfilingOptions类,是RunNpuOptions的子类。除了可以配置RunNpuOptions里的配置项,还可配置Profiling相关属性,包括Profiling数据采集范围、Profiling上板次数。
@dataclass
class RunProfilingOptions(RunNpuOptions):
profiling: List[str] = field(default_factory=list)
loop: int = 10
关于类成员的详细说明请参见表1。
表1 RunProfilingOptions成员说明属性名
|
属性类型
|
默认值
|
属性说明
|
profiling
|
list
|
[]
|
默认不开启,如需开启配置如下:
- 基础采集:
直接实例化RunProfilingOptions,开启Profiling功能,默认采集PipeUtilization数据,示例如下,设置Profiling上板次数为20。 ascendebug.RunProfilingOptions(loop=20)
- 高级采集(可选):
如需采集其他数据,可进一步手动设置profiling,示例如下。 ascendebug.RunProfilingOptions(profiling=["ArithmeticUtilization"], loop=20)
目前可采集的数据包括:
- Atlas 200/300/500 推理产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio
- Atlas 200I/500 A2 推理产品:ArithmeticUtilization、PipeUtilization、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache、PipelineExecuteUtilization(默认值)
- Atlas 推理系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio
- Atlas 训练系列产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio
- Atlas A2 训练系列产品/Atlas 800I A2 推理产品:ArithmeticUtilization、PipeUtilization(默认值)、Memory、MemoryL0、MemoryUB、ResourceConflictRatio、L2Cache
说明: - Profiling功能与dump_mode功能中“normal”、“acc_chk”配置项冲突,不支持同时设置。
- 手动设置profiling时,仅支持传入一种数据类型,暂不支持多种数据同时采集。
- 更详细的功能说明参见Profiling数据采集功能。
|
loop
|
int
|
10
|
Profiling上板次数。
|