ascend-benchmark-evaluator

Assess Ascend C operator correctness and runtime using NPUKernelBench datasets.

33|51|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/Just-it/AscendOpGenAgent --skill ascend-benchmark-evaluator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ascend-benchmark-evaluator
Source: https://github.com/Just-it/AscendOpGenAgent/tree/main/skills/ascend_benchmark_evaluator
Command: npx skills add https://github.com/Just-it/AscendOpGenAgent --skill ascend-benchmark-evaluator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires torch, torch_npu, and includes scripts (resource) components.

What problem does it solve?

This Skill provides a structured framework to evaluate the Lingxi-Code Agent's Ascend C code generation across standardized datasets, producing both correctness verification and performance benchmarks.

Core Features & Use Cases

  • Batch operator evaluation across multiple operators to generate per-operator reports.
  • Correctness validation by comparing generated outputs against reference implementations to ensure functional parity.
  • Performance benchmarking with timing comparisons and a consolidated benchmark report.
  • Automated dataset handling (NPUKernelBench format) and end-to-end evaluation workflow.

Quick Start

Run the evaluator against your NPUKernelbench dataset to produce a complete per-operator and global benchmark report.

Frequently Asked Questions about ascend-benchmark-evaluator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I benchmark Ascend C code generation accuracy on NPU?

To benchmark Ascend C code generation accuracy, you can evaluate generated operators against reference implementations using the NPUKernelBench suite. This Skill automates correctness validation and performance timing to produce per-operator and consolidated benchmark reports.

What is NPUKernelBench and how does it evaluate Ascend operators?

NPUKernelBench is a standardized dataset format for evaluating Ascend C operators at scale. It enables automated batch evaluation by validating the correctness of generated outputs against references and measuring runtime performance for each operator.

Do I need torch_npu and custom_OPP to run Ascend C benchmark evaluations?

Yes, you need a Python/NPU environment with PyTorch, torch_npu, and the custom_OPP PyBind integration to run Ascend C benchmark evaluations. These dependencies are required to execute operators and validate correctness on the NPU hardware.

How do I generate per-operator performance reports for Ascend C code?

You generate per-operator performance reports by running the evaluator against your NPUKernelBench dataset. The Skill automates dataset handling, compares timing results, and outputs detailed individual operator reports alongside a global benchmark overview.

Can I batch evaluate multiple Ascend C operators for correctness and performance?

Yes, you can batch evaluate multiple Ascend C operators for correctness and performance. The Skill processes the entire standardized dataset, validating functional parity against reference implementations while measuring runtime to deliver a consolidated benchmark report.

What are the limitations of using NPUKernelBench for Ascend C code evaluation?

A limitation of using NPUKernelBench for Ascend C evaluation is its strict environment requirement: it specifically depends on torch_npu and custom_OPP PyBind integration, meaning it cannot run on standard CPU or non-Ascend GPU hardware setups.