比对GPU与NPU上内存使用情况
采集内存数据。
GPU数据:参见
官方文档
使用PyTorch原生接口采集GPU的内存数据。
NPU数据:通过
Ascend PyTorch Profiler
工具采集NPU的内存数据。
GPU和NPU各需要采两份内存profiling:
训练开始到首个step结束。(训练开始是指训练进程拉起后,不是首个step的开始,包含模型权重初始化等长生命周期内存申请阶段。)
采集一个稳定训练后的step。(需要包含优化器梯度更新阶段,注意在fp16或混合精度训练场景下,可能存在某次迭代梯度溢出导致跳过梯度更新的情况,影响内存行为分析。)
父主题:
内存分析与优化