Ascend Profiling Analysis Skill 设计深度解析

Ascend Profiling Analysis Skill 设计深度解析 本文深度解析一个用于分析 Ascend NPU torch profiler 产出的 skill,涵盖其设计哲学、Pipeline 架构、昇腾核心知识体系和先验知识体系。 一、背景与动机 为什么需要 profiling 分析? 在昇腾 NPU 上运行 LLM 推理时,的性能调优需要回答几个关键问题: Step 时间去哪了? attention/FFN/MoE 各占多少? 瓶颈在哪? Cube 计算还是 Vector 内存搬运? EP/TP 负载均衡吗? 有没有 rank 掉队? 通信是否拖后腿? HCCL collective 是否慢于预期? 传统的分析手段面临几个问题: 工具 问题 CANN Studio Timeline 只能看时序,无法聚合统计 trace_view.json 数据稀疏,难以关联到 kernel 语义 kernel_details.csv 数据量级 GB,需要专门解析逻辑 设计目标 这个 skill 的核心目标:从原始 profiling 数据出发,产出带证据链的可追溯报告。 每一条诊断结论都必须能追溯到原始 CSV 的行号 支持跨 rank 对齐和异常检测 输出 Markdown / Excel / HTML 三种格式 二、设计哲学:证据链优先 核心理念 每个 claim 必须能追溯到原始 row。 ...

May 28, 2026 · 9 min · 1867 words · Me

昇腾超节点CloudMatrix384论文拆解

6.19发布的CloudMatrix384论文拆解,从宏观到基础概念 核心指标和计算方式 TPOT (Time Per Output Token) 公式: $$TPOT= \frac{Decode总耗时}{生成Token数量}$$ 测量方式: 从第一个输出Token开始计时,到生成结束(含MoE通信/KV读取) 为什么重要: 直接决定用户体验(如Chatbot响应速度),论文要求 <50ms(严格模式<15ms) 深层意义: 反映系统通信+计算综合能力,EP320下TPOT=42ms证明UB网络突破MoE通信墙 计算效率 (Tokens/s per TFLOPS) 公式: $$计算效率=\frac {吞吐量(tokens/s)} {NPU峰值算力(TFLOPS)}$$​ 论文数据: 阶段 值 对比基准 Prefill 4.45 超NVIDIA H100+SGLang(3.8) Decode 1.29 超NVIDIA H800+DeepSeek(0.9) 为什么重要: 揭示硬件利用率,1.0以上表明软硬件协同极致优化 深层意义: Decode阶段1.29 → 昇腾910的Cube引擎利用率达 86%(传统GPU仅60%) 缓存访问延迟 (KV Cache Access Latency) 公式: $$延迟=TMMU_{查询}+TUB_{传输}+TDRAM_{读取}​$$ 论文数据: 场景 延迟 对比传统 本地HBM命中 0.2μs - 远程DRAM访问(UB) 1.5μs >10μs (PCIe+IB) 为什么重要: 长上下文推理中70%时间花在KV缓存访问 深层意义: UB统一内存将远程访问性能提升至近本地水平,支撑百万Token上下文。 专家并行扩展性 (EP Degree) 定义:单个MoE层可分布的专家数量 论文突破:EP320(每个昇腾Die托管1个专家) 支撑公式: $$可扩展性=\frac {UB总带宽}{单个专家通信需求}$$ $$EPmax=\frac {384×392GB/s} {8B/token×10^6token/s}=320$$ 为什么重要: EP>100时传统网络崩溃,EP320证明UB突破通信可扩展性极限 INT8量化收益 公式:$$ 加速比=\frac {FP16吞吐}{INT8吞吐}×精度保持率$$ 论文数据: 吞吐提升:1.8倍 精度损失:<0.5%(16个基准测试) 为什么重要: Decode阶段内存带宽减少50%,解决NPU的“内存墙”问题 QA辅助理解 为什么用TPOT而非QPS? TPOT剥离Batch Size影响,纯粹衡量单次生成效率 更直观反映SLA(用户感知的延迟) 为什么强调计算效率而非绝对吞吐? 排除工艺优势(7nm vs 5nm),聚焦架构创新价值 1.29 tokens/s/TFLOPS → 证明UB+LEP设计优于NVLink+GPU 为什么测量远程DRAM访问延迟? 验证内存池化的实际效果,这是打破“内存墙”的核心 1.5μs延迟 → 实现“全集群如单机”的硬件基础 超节点架构 三级网络平面的物理隔离 硬件隔离原理 ...

August 7, 2025 · 6 min · 1211 words · Me