# Memory Parser - Ascend NPU 内存分析 ## 1. 简介 Memory Parser 是 RL-Insight 的内存分析模块,基于 Ascend Profiler 采集的内存 Profiling 数据进行解析,为 RL 训练的内存瓶颈分析提供数据支撑。 模块划分、流水线与扩展步骤见 [架构说明](./architecture.md)。更完整的数据目录与 JSON 字段约定见 [数据规格与格式说明](../data/data_specification.md)。 ### 1.1 主要功能 - **内存分配解析**:解析 Ascend Profiler 输出的 `operator_memory.csv`,提取算子级内存分配/释放记录 - **调用栈关联**:通过 `trace_view.json` 中的 `cpu_op` 事件,为每条内存记录匹配 Python 调用栈,便于定位内存申请源头 - **并行处理**:利用多进程并行解析多个 Rank 的内存数据,提升处理效率 - **结构化输出**:输出标准化的 `MemoryEventRow` DataFrame,供下游 Visualizer 或自定义分析脚本消费 ### 1.2 软件依赖 除 RL-Insight 公共依赖外,Memory Parser 额外依赖: | 库 | 用途 | 安装 | |----|------|------| | `ijson` | 流式解析大 JSON(`trace_view.json` 可达数百 MB) | `pip install ijson` | ## 2. 输入数据 ### 2.1 目录结构 ```text / └── / └── _