功能介绍
昇腾AI处理器是一款面向AI业务应用高性能集成芯片,它包含Control CPU、AI CPU以及AI CORE。其中Control CPU允许用户在其上运行通用的操作系统,而AI CPU、AI CORE则提供高性能的AI计算能力。为了验证Atlas 训练系列产品的性能,在芯片验证、算子开发、执行训练及推理任务等不同业务环节,提供针对Atlas 训练系列产品的端到端Profiling系统,准确定位系统的软、硬件性能瓶颈,提高性能分析的效率,通过针对性的性能优化方法,以最小的代价和成本实现业务场景的极致性能。
Profiling性能分析功能主要实现以下2类性能数据分析:
- 训练任务相关的Job Profiling
- AI软件栈采集的数据(Training Trace),实现对训练任务的迭代性能分析,主要包括单个Device上AI CPU图计算轨迹相关的性能数据,及Runtime、集合通信等相关的性能数据。
通过该类性能数据分析,可以得到迭代时长(t(N+1)6-tN6)、数据增强拖尾(t(N+1)1-tN6)、FPBP计算时间(tN2-tN1)以及梯度聚合更新拖尾时间(tN6-tN2)等关键性能指标项。其中,各个时间点取值如图1所示。
- 数据增强拖尾:上一轮迭代结束后、本轮迭代FP开始前,本轮数据增强仍然在执行,这段耗时为拖尾时长。
- 梯度聚合更新拖尾:本轮迭代BP执行完成、迭代结束之前,仍然在执行梯度聚合/更新,这段耗时为拖尾时长。
- HWTS/AICore采集的数据(Task Trace),实现对训练任务的Task执行性能分析,提供Task与AI Core相关的性能数据(如开始时间、总耗时等)。
- AI软件栈采集的数据(Training Trace),实现对训练任务的迭代性能分析,主要包括单个Device上AI CPU图计算轨迹相关的性能数据,及Runtime、集合通信等相关的性能数据。
- 训练任务无关的System Profiling
训练任务无关的性能数据包含Control CPU、AI CPU、TS CPU、DVPP、片上内存等硬件的性能信息,如CPU占用率、内存带宽、PCIe带宽等。
Job Profiling、System Profiling可采集的信息源如表1所示。
分类 |
节点 |
模块 |
采集指标 |
---|---|---|---|
训练任务Job Profiling |
AI Host |
Framework |
图变量相关指标 |
HCCL |
集合通信相关指标 |
||
Runtime |
任务轨迹相关指标 |
||
Device |
Data Preprocess |
数据增强相关指标 |
|
AI Core(Task-based) |
PMU事件 |
||
Task Scheduler Track |
Task Scheduler timeline |
||
Training Trace |
迭代轨迹相关指标 |
||
HWTS Log(Task相关) |
任务时间开销相关指标 |
||
System Profiling |
Device |
Control CPU |
PMU事件 |
AI CPU |
PMU事件 |
||
TS CPU |
PMU事件 |
||
HCCS |
高性能片间通信带宽指标 |
||
LLC |
CPU三级缓存相关指标 |
||
片上内存 |
SDRAM读写带宽相关指标和高带宽内存相关指标 |
||
Memory |
系统及进程的内存使用率 |
||
CPU Usage |
系统及进程的CPU使用率 |
||
NIC |
网卡速率、错误率、丢包率等相关指标 |
||
RoCE |
基于融合以太网的RDMA速率、错误率、丢包率等相关指标 |
||
L2 Cache |
AI Core二级缓存PMU事件相关指标 |
||
AI Core(Sample-based) |
AI Core instruction retired、CPU cycles等相关PMU事件相关指标 |
||
PCIe |
PCIe读写带宽相关指标 |
||
DVPP |
DVPP视频处理模块相关指标 |