Skip to content
Skillv1.0.0

huawei-cloud-msot-msopprof-operator-profiler

Collect operator-level performance data on Ascend NPU using msopprof tool. Supports both device mode and simulator mode, generates performance analysis reports. Use this skill when the user wants to:

by huaweicloud(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from huaweicloud/huaweicloud-skills (skills/ai/modelarts/huawei-cloud-msot-msopprof-operator-profiler/SKILL.md). Install upstream with npx skills add huaweicloud/huaweicloud-skills --skill huawei-cloud-msot-msopprof-operator-profiler. Copyright stays with the author.

Huawei Cloud msOT msopprof Operator Profiler

Overview

This skill provides operator-level performance profiling capabilities for Ascend NPU.

Architecture: Profiling Configuration → Data Collection → Report Generation → Analysis

Related Skills:

  • huawei-cloud-ascend-profiler-db-explorer - Profiling database analysis and query
  • huawei-cloud-ascend-small-model-migrate - Migration workflow that uses performance data

Architecture Components

This skill involves the following cloud services and components:

  • msopprof: Huawei Cloud operator profiling tool for Ascend NPU
  • CANN: AI Computing Platform for NPU runtime support
  • Ascend NPU: Target hardware for performance profiling
  • Profiling Database: Storage for collected performance data

Architecture Diagram:

┌─────────────────────────────────────────────────────────────┐
│           msOT msopprof Operator Profiler Skill            │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐ │
│  │  Profiling   │───▶│  Data        │───▶│  Report      │ │
│  │  Config      │    │  Collection  │    │  Generation  │ │
│  └──────────────┘    └──────────────┘    └──────────────┘ │
│         │                   │                   │          │
│         ▼                   ▼                   ▼          │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐ │
│  │  Mode        │    │  Operator    │    │  Data        │ │
│  │  Selection   │    │  Execution   │    │  Export      │ │
│  │  (Device/Sim)│    │  Monitoring  │    │              │ │
│  └──────────────┘    └──────────────┘    └──────────────┘ │
└─────────────────────────────────────────────────────────────┘

Use Cases

Typical Problem Scenarios:

  • Collecting operator-level performance data on Ascend NPU
  • Profiling model inference performance
  • Identifying performance bottlenecks through operator execution
  • Comparing operator performance between device and simulator modes
  • Generating performance analysis reports for model optimization

Typical User Phrases:

  • "Profile operator performance on Ascend NPU"
  • "Collect performance data using msopprof"
  • "Generate performance analysis report"
  • "Compare device vs simulator profiling"
  • "Identify performance bottlenecks"
  • "AscendCollectionOperatorPerformanceData"
  • "msopprofPerformance"
  • "PerformanceAnalysisReport"

Scope

Supported:

  • Operator performance data collection
  • Device mode profiling
  • Simulator mode profiling
  • Report generation

Not supported:

  • System-level profiling
  • Non-Ascend platforms

Core Workflow

1. Profiling Configuration

  • Set up profiling parameters
  • Configure collection mode (device/simulator)

2. Data Collection

  • Execute profiling on target model
  • Collect operator performance data

3. Report Generation

  • Generate profiling reports
  • Output performance metrics

4. Data Export

  • Export data to profiling database
  • Prepare for further analysis

Enhanced Features

Best Practices Knowledge Base

This skill integrates a searchable knowledge base containing migration success stories and optimization patterns:

Features:

  • Case Study Repository: Searchable database of migration success stories for common model architectures
  • Operator Optimization Recipes: Proven optimization patterns with code snippets for common operators
  • Similarity Matching: Recommends proven solutions based on model architecture similarity
  • Performance Patterns: Collection of known performance patterns and anti-patterns
  • Expert Recommendations: Curated tips from Ascend optimization experts

Knowledge Base Structure:

  • Case Studies: YOLO, ResNet, UNet migration success stories
  • Operator Recipes: Conv2D, MatMul, Attention optimization patterns
  • Performance Patterns: Common bottleneck patterns and solutions
  • Expert Tips: Optimization best practices from field experts

YOLOv8 Migration Success Story

Model Information

  • Model: YOLOv8s
  • Input: 640x640
  • Target: Ascend 910B

Challenges Encountered

  1. Issue: NMS operator fallback to CPU

    • Solution: Implemented AscendC NMS operator
    • Gain: 30% latency reduction
  2. Issue: Memory bandwidth bottleneck

    • Solution: Optimized data layout and batch processing
    • Gain: 15% throughput improvement
  3. Issue: Custom activation function

    • Solution: Replaced with supported operators
    • Gain: Stable NPU execution

Final Results

  • Latency: 8.2 ms → 5.1 ms (-37.8%)
  • Throughput: 122 FPS → 196 FPS (+60.7%)
  • Accuracy: 60.2% → 60.4% (+0.2%)

Key Takeaways

  • Always check operator coverage before migration
  • Implement custom operators for critical path
  • Optimize memory access patterns

Operator Optimization Recipes

  • Conv2D: Padding overhead → Use native NPU padding (5-10% gain)
  • MatMul: Memory layout → Optimal tiling config (10-15% gain)
  • Attention: FlashAttention → Enable NPU FlashAttention (20-30% gain)
  • NMS: CPU fallback → AscendC implementation (25-35% gain)

Reference Documents

Prerequisites

  • msopprof >= 1.0.0 installed
  • CANN >= 7.0.0 installed
  • Ascend NPU driver installed
  • Operator code to be analyzed

Core Commands

# Collect operator performance data
msopprof --output=/path/to/output \
  --mode=device \
  ./my_operator

# Analyze performance report
python3 scripts/analyze_profile.py --data /path/to/output

Parameter Confirmation

  • output: Performance data output path (Required)
  • mode: Collection mode (device/simulator) (Optional)
  • operator: Operator executable file path (Required)

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/huaweicloud-huaweicloud-skills-huawei-cloud-msot-msoppro-ca2af2/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

huaweicloud-huaweicloud-skills-huawei-cloud-msot-msoppro-ca2af2.ocm.jsonjson
{
  "ocm": "1",
  "id": "huaweicloud-huaweicloud-skills-huawei-cloud-msot-msoppro-ca2af2",
  "kind": "skill",
  "name": "huawei-cloud-msot-msopprof-operator-profiler",
  "description": "Collect operator-level performance data on Ascend NPU using msopprof tool. Supports both device mode and simulator mode, generates performance analysis reports. Use this skill when the user wants to: (1) profile operator performance on Ascend NPU, (2) collect performance data for analysis, (3) identify performance bottlenecks through operator execution characteristics. Trigger: user mentions \"msopprof\", \"profiler\", \"performance profiling\", \"operator profiling\", \"Ascend\", \"NPU\", \"profile data\", \"性能采集\", \"算子性能\", \"性能剖析\", \"算子耗时采集\"",
  "publisher": "huaweicloud",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "ascend",
      "msopprof",
      "profiler",
      "operator",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Collect operator-level performance data on Ascend NPU using msopprof tool. Supports both device mode and simulator mode, generates performance analysis reports. Use this skill when the user wants to: (1) profile operator performance on Ascend NPU, (2) collect performance data for analysis, (3) identify performance bottlenecks through operator execution characteristics. Trigger: user mentions \"msopprof\", \"profiler\", \"performance profiling\", \"operator profiling\", \"Ascend\", \"NPU\", \"profile data\", \"性能采集\", \"算子性能\", \"性能剖析\", \"算子耗时采集\""
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/huaweicloud/huaweicloud-skills",
      "path": "skills/ai/modelarts/huawei-cloud-msot-msopprof-operator-profiler/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/huaweicloud/huaweicloud-skills/blob/HEAD/skills/ai/modelarts/huawei-cloud-msot-msopprof-operator-profiler/SKILL.md",
      "key": "huaweicloud/huaweicloud-skills/skills/ai/modelarts/huawei-cloud-msot-msopprof-operator-profiler/SKILL.md"
    },
    "compatibility": "['msopprof >= 1.0.0', 'CANN >= 7.0.0']",
    "allowed_tools": [
      "python3",
      "msopprof",
      "bash"
    ]
  },
  "instructions": "# Huawei Cloud msOT msopprof Operator Profiler\n\n## Overview\n\nThis skill provides operator-level performance profiling capabilities for\nAscend NPU.\n\n**Architecture**: Profiling Configuration → Data Collection → Report Generation\n→ Analysis\n\n**Related Skills**:\n\n- `huawei-cloud-ascend-profiler-db-explorer` - Profiling database analysis and\n  query\n- `huawei-cloud-ascend-small-model-migrate` - Migration workflow that uses\n  performance data\n\n## Architecture Components\n\nThis skill involves the following cloud services and components:\n\n- **msopprof**: Huawei Cloud operator profiling tool for Ascend",
  "cost": {
    "context_tokens": 1507
  }
}

Fetch it by URL: GET /api/v1/registry/huaweicloud-huaweicloud-skills-huawei-cloud-msot-msoppro-ca2af2/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.