mcpField
H
huawei-cloud-ascend-op-mfu-calculator

huawei-cloud-ascend-op-mfu-calculator

github.com/huaweicloud开发59262 次安装2 天前更新
代码仓库

关于 huawei-cloud-ascend-op-mfu-calculator

用于计算 Huawei Cloud Ascend NPU 上算子的机器浮点利用率(MFU)的技能,可根据算子参数推导 FLOPs、实际 TFLOPs/s 和 MFU,并分析性能数据以识别瓶颈、提出优化建议。

主要功能

  1. 01算子 FLOPs 计算
  2. 02实际 TFLOPs/s 计算
  3. 03依据峰值性能计算 MFU
  4. 04基于性能分析数据诊断瓶颈
  5. 05区分计算与内存瓶颈
  6. 06按优先级提供优化建议

适用场景

  1. 01测量 Ascend NPU 算子利用率
  2. 02比较不同算子实现
  3. 03诊断性能瓶颈
  4. 04寻找优化机会

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-ascend-op-mfu-calculator

安装后在 Claude Code 中输入/huawei-cloud-ascend-op-mfu-calculator确认已加载。

附带文件references/mfu-calculation-methodology.mdreferences/verification-method.md

详细介绍

华为云 Ascend 算子 MFU 计算器

概述

此技能用于计算 Ascend NPU 上 matmul/GEMM/FlashAttention 等算子的 MFU(机器浮点运算利用率),并提供清晰的公式和推导过程。

架构:输入校验 → FLOPs 计算 → 实际 TFLOPs/s → MFU 计算 → 结果分析

相关技能:

  • huawei-cloud-ascend-profiler-db-explorer - 算子性能数据的性能分析数据分析

前置条件

  1. 已安装 Python 3.8+
  2. 基本了解 FLOPs 计算概念

使用场景

典型问题场景:

  • 评估算子对 Ascend NPU 计算能力的利用情况
  • 比较不同算子实现的性能
  • 找出矩阵运算的优化机会

典型用户表达:

  • “计算我的 GEMM 算子的 MFU”
  • “FlashAttention 的机器浮点运算利用率是多少?”
  • “分析我的 matmul 算子的性能效率”

工作流

  1. 收集输入:收集算子参数(矩阵维度、数据类型、执行时间)
  2. FLOPs 计算:计算该操作的理论 FLOPs
  3. 实际性能:根据执行时间计算实际 TFLOPs/s
  4. MFU 计算:应用公式 MFU = 实际 FLOPs / 峰值 FLOPs
  5. 结果分析:提供解读和优化建议

MFU 计算公式

MFU = (实际 FLOPs / 峰值 FLOPs) × 100%

其中:

  • 实际 FLOPs = 操作 FLOPs / 执行时间
  • 峰值 FLOPs = 硬件特定的峰值性能(例如,Ascend 910B:FP16 下为 256 TFLOPs)

参考文档

文档说明
Ascend 910B Series Technical SpecificationsAscend 910B 系列产品的官方规格
MFU Calculation MethodologyMFU 计算公式和示例详解
FlashAttention Technical PaperFlashAttention 原始研究论文

增强功能

智能瓶颈诊断器
  • 由 AI 驱动的瓶颈诊断功能,可分析性能分析数据并自动识别根本原因
  • 将瓶颈分为以下类别:内存受限、计算受限、通信受限或算子回退
  • 提供按优先级排序的可执行优化建议
  • 包含针对已知性能反模式的模式匹配

参数确认

参数说明必填
operator算子类型(matmul/flash_attention/gemm 等)是
flops算子的理论 FLOPs是
time_ms算子执行时间(毫秒)是
peak_tflops硬件峰值计算能力(TFLOPS)是
deviceNPU 设备类型(910B/910 等)否

评论

支持 Markdown