MindStudio-MemScope(msmemscope)是MindStudio推出的整网内存调试调优工具,提供内存数据采集、辅助分析、自动诊断等能力。
MindStudio MemScope
📢 最新消息
-
[2026.2.02] 🎉 MindStudio Memscope 26.0.0-alpha.1版本上线! 支持Python API采集方式使用、支持PyTorch框架下采集内存快照、支持识别显存页表属性并进行落盘、支持获取Driver新增的显存分配接口。
-
[2025.12.30]:MindStudio Memscope项目首次上线。
📌 简介
MindStudio Memscope(内存分析工具,msMemScope)是基于昇腾硬件开发,用于模型训练与推理过程中的内存问题定位的工具。该工具提供内存泄漏检测、内存对比、内存块监测、内存拆解和低效内存识别等功能,帮助用户完成问题定位与处理。
🔍 目录结构
关键目录如下。
|-- build
|-- make_run.sh # 构建软件包脚本
|-- build.py # 构建脚本
|-- docs # 项目文档介绍
|-- example # 项目示例代码
|-- csrc # c++源码
|-- framework # 命令行解析,完成和event_trace模块的交互,获取内存事件并发送给analysis模块进行处理
|-- event_trace # 完成对内存事件的记录并提交框架模块
|-- analysis # 内存事件处理和分析
|-- main.cpp
|-- output
|-- bin
|-- msmemscope # 可执行文件
|-- test # UT测试、ST测试
📝 版本说明
| 发布版本 | 发布时间 | 发布Tag | 兼容性说明 |
|---|---|---|---|
| 26.0.0-alpha.1 | 2026/02/04 | tag_MindStudio_26.0.0-alpha.1 | 兼容昇腾CANN 8.5.0及以前版本。请参考《CANN安装指南》获取CANN安装包。 |
新增特性
- 支持PyTorch框架下采集内存快照。
- 支持识别显存页表属性并进行落盘。
- 支持vLLM、Verl、MindSpeed场景下的显存拆解。
📖 查看历史版本
更多历史版本信息请参见 历史版本。
🛠️ 兼容性信息
msMemScope工具当前支持CANN、Ascend Extension for PyTorch、MindSpore以及Aten算子的内存采集,具体版本支持情况如下表所示。
| 产品 | 说明 |
|---|---|
| CANN | CANN 8.2.RC1及之后版本的ATB算子(Ascend Transformers Boost)。 |
| Ascend Extension for PyTorch | Ascend Extension for PyTorch 7.0.0及之后版本。 |
| MindSpore | MindSpore 2.7.0及之后版本。 |
| Aten算子 | 当采集Aten算子下发与访问事件时,需使用PyTorch 2.3.1或更高版本。 |
🛠️ 环境部署
msMemScope工具支持通过软件包和源码两种方式进行安装,可根据实际需求选择合适的安装方式,具体安装步骤请参见《msMemScope安装指南》。
🚀 快速入门
快速入门旨在帮助用户快速熟悉msMemScope工具的使用方式。具体操作请参见《msMemScope快速入门》。
📖 功能介绍
msMemScope工具提供内存采集、内存分析两大功能。
| 功能 | 功能说明 | 详细功能 | 使用场景及说明 |
|---|---|---|---|
| 内存采集 | msMemScope工具提供内存事件的采集能力,允许自定义设置采集内存范围和采集项,为后续分析提供原始数据。 | Python接口方式采集 | 支持通过Python接口采集信息,提供自定义设置采集内存范围和采集项,采集内存事件和Python Trace事件能力,实现精准采集、高效分析。 |
| 命令行方式采集 | 支持通过命令行方式采集信息,提供在非Python场景下采集内存事件与内存分析能力。 | ||
| 内存分析 | msMemScope工具基于采集的内存数据,提供泄漏、对比、监测、拆解、低效识别五项分析能力,帮助开发者快速诊断和优化内存问题。 | 内存泄漏分析 | 针对内存长时间未释放和内存泄漏等问题,需要进行内存分析时,msMemScope工具提供内存泄漏分析和kernelLaunch粒度的内存变化分析功能,进行告警定位与分析。 |
| 内存对比分析 | 当两个Step内存使用存在差异时,可能会导致内存使用过多,甚至出现OOM(Out of Memory,内存溢出)的问题,则需要使用msMemScope工具的内存对比分析功能来定位并分析问题。 | ||
| 内存块监测 | 在大模型场景中,当遇到内存踩踏定位困难时,msMemScope工具支持通过Python接口和命令行两种方式,在算子执行前后对指定的内存块进行监测。根据内存块数据的变化,快速确定算子间内存踩踏的范围或具体位置。 | ||
| 内存拆解 | msMemScope工具提供内存拆解功能,支持对CANN层和Ascend Extension for PyTorch框架的内存使用情况进行拆解,输出模型权重、激活值、梯度,以及优化器等组件的内存占用情况。 | ||
| 低效内存识别 | 在训练推理模型过程中,可能会存在部分内存块申请后未立即使用,或使用完毕后未及时释放的低效情况。msMemScope工具可帮助识别这种低效内存的使用现象,从而优化训练推理模型。 |
📚 API参考
msMemScope工具提供API接口,便于快速分析内存情况,具体使用方法请参见《API参考》。
📝 相关说明
💬 建议与交流
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交 Issues,我们会尽快回复。也可参考《交流指南》获取详细的联系方式和支持渠道。 感谢您的支持。
| 📱 关注 MindStudio 公众号 | 💬 更多交流与支持 |
|---|---|
![]() 扫码关注获取最新动态 |
💡 加入微信交流群: 关注公众号,回复“交流群”即可获取入群二维码。 🛠️ 其他渠道: 👉 昇腾助手: 👉 昇腾论坛: |
🤝 致谢
感谢来自社区的每一个PR,欢迎贡献msMemScope。
关于MindStudio团队
华为MindStudio全流程开发工具链团队致力于提供端到端的昇腾AI应用开发解决方案,使能开发者高效完成训练开发、推理开发和算子开发。
