AI开发平台MODELARTS-查看诊断报告:html总览
html总览
html中包括总体性能分析(overall)、快慢卡算子性能比对(comparison)和性能问题分析(performance problem analysis)三大模块。overall模块包含对单卡或者集群的性能统计数据,comparison模块包含目标集群profiling与标杆集群profiling或目标集群内部快慢卡的算子比对数据,performance problem analysis模块包含计算(computation)、下发(schedule)、通信(communication)、内存(memory)和数据加载(dataloader)五个维度的具体分析。用户首先需要查看overall模块初步明确是否存在计算维度的慢卡和下发维度慢卡,然后再重点关注performance problem analysis中对应维度的各项分析及其优先级。
红色为高优先级,黄色为中等优先级,绿色为低优先级。参考html进行分析调优时,请按照优先级从高到低依次进行并测试调优后性能,快速解决重点问题。
当前advisor的performance problem analysis中包含如下分析项。
分析维度 |
分析项 |
释义 |
---|---|---|
overall |
overall summary |
对于单卡profiling进行性能拆解,获取单步计算、下发和通信耗时。 |
slow rank |
对于集群profiling进行性能统计,获取每张卡不同step的计算、下发和通信耗时。 |
|
slow link |
对于集群profiling进行性能统计,获取每张卡不同step的带宽信息。 |
|
environment variable |
识别错误配置且会影响性能的环境变量,如P LOG 日志级别,HCCL相关环境变量,依赖24年930版本的pta。 |
|
comparison |
kernel compare |
两张卡NPU侧计算算子对比。 |
api compare |
两张卡CPU侧torch aten算子下发对比。 |
|
performance problem analysis |
computation - AI CORE frequency |
计算维度,识别降频的节点,节点降频会导致flash attention和matmul类算子计算性能变差。 |
computation - AICPU |
计算维度,识别AICPU算子,部分AICPU算子计算性能较差。 |
|
computation - operator dynamic shape |
计算维度,检测动态shape,动态shape会触发频繁的算子编译。 |
|
computation - operator bound |
计算维度,算子计算性能分析,例如算子是否充分使用AICORE核数。 |
|
schedule - synchronize stream |
下发维度,异常同步流分析,过多同步流会打断CPU侧任务异步下发。 |
|
schedule - garbage collection(GC) |
下发维度,识别异常耗时的垃圾回收,垃圾回收会造成大段空闲。 |
|
schedule - operator dispatch |
下发维度,算子下发时编译分析,大量算子编译会导致整体训练性能变差。 |
|
schedule - syncBatchNorm |
下发维度,NPU上分布式训练使用syncBN性能较差。 |
|
schedule - affinity api |
下发维度,自动识别可替换的亲和API(融合算子API如rms_norm,亲和优化器如NpuFusedAdamw)。 |
|
communication - small packet |
通信维度,识别因batch过小或者梯度累积较少导致的未充分利用机内通信带宽。 |
|
communication - bandwidth contention |
通信维度,识别计算和通信相互掩盖,可能会抢占通信带宽。 |
|
communication - retransmission |
通信维度,识别通信重传问题,单次重传耗时4秒以上。 |
|
memory |
内存维度,识别异常内存算子。 |
|
dataloader |
数据加载维度,异常耗时的数据读取将会导致明显的训练性能劣化。 |