简介
msLeaks工具是基于昇腾AI处理器的内存检测工具,用于模型训练与推理过程中的内存问题定位。msLeaks工具提供内存泄漏检测、内存对比、内存块监测、内存拆解和低效内存识别等功能,帮助开发者高效定位,快速处置。
功能特性
msLeaks工具目前已支持的功能如表1。
功能 |
使用场景及说明 |
---|---|
内存泄漏检测 |
针对内存长时间未释放、内存泄漏等问题,需要进行Step内内存分析的情况,msLeaks工具提供Step内内存泄漏分析和kernelLaunch粒度的内存变化分析功能,进行告警定位与分析。 |
内存对比分析 |
当两个Step内存使用存在差异,可能造成内存使用过多,甚至OOM(Out of Memory,内存溢出)的问题,则需要使用msLeaks工具的Step间内存对比分析功能来定位并分析问题。 |
内存块监测 |
对大模型场景下,内存踩踏定位困难的情况,msLeaks工具可通过Python接口在算子执行前后监测指定内存块,根据内存块数据的变化,定位算子间内存踩踏的范围或具体位置。 |
内存拆解 |
当采集大量内存时,可借助msLeaks工具的内存拆解功能,支持用户自行对代码段进行描述,进行内存拆解。 |
低效内存识别 |
在训练推理模型过程中,可能会存在部分内存块申请后没有立即使用,或者使用结束后未及时释放的低效现象,msLeaks工具可帮助识别这种低效内存的现象,帮助分析并优化数据。 |
支持模型
当前msLeaks工具支持下列框架模型的内存检测:
- Ascend Extension for PyTorch 7.0.0及之后版本的深度学习模型
- MindSpore 2.7.0及之后版本的模型
- CANN 8.2.RC1及之后版本的ATB算子模型