ascendc

Implement AscendC transformer operator definitions and kernels for FFN, GMM, and MoE.

156|53|Updated Feb 14, 2026
One-click install
npx skills add https://github.com/ascend-ai-coding/awesome-ascend-skills --skill ascendc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ascendc
Source: https://github.com/ascend-ai-coding/awesome-ascend-skills/tree/main/ascendc
Command: npx skills add https://github.com/ascend-ai-coding/awesome-ascend-skills --skill ascendc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developing AscendC transformer operators is complex and error-prone; this Skill provides a structured, pattern-based guide to build host/kernel interfaces, tiling, shape inference, and CANN examples for AscendC operators.

Core Features & Use Cases

  • Templates and best practices for AscendC operator development across FFN, GMM, and MoE variants.
  • Clear guidance on aligning op_host definitions, op_kernel implementations, tiling/infershape logic, and CANN examples with existing references.
  • Scaffolding support for the end-to-end workflow from frontmatter-driven discovery to production-ready operator code.

Quick Start

Use the genop tool in ops-transformer to scaffold a new AscendC operator and implement its host and kernel logic following the provided templates.

Frequently Asked Questions about ascendc

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

FAQPage Schema
How do I develop AscendC transformer operators for FFN and MoE architectures?

AscendC transformer operator development is guided by structured templates for op_host definitions, op_kernel implementations, tiling, and infershape logic. These patterns apply directly to FFN, GMM, and MoE style operators within the CANN framework.

What is the best way to scaffold a new AscendC operator?

Scaffolding a new AscendC operator uses the genop tool in ops-transformer to generate initial structures. This creates end-to-end workflows from YAML frontmatter discovery to production-ready host and kernel code aligned with existing references.

Does AscendC operator development require consistent DataType and Format mappings?

AscendC operator development strictly requires consistent DataType and Format mappings across host and kernel interfaces. Ensuring this consistency, along with proper YAML frontmatter presence, prevents errors in tiling and shape inference logic.

Can I use this guide for implementing tiling and infershape logic for CANN examples?

Implementing tiling and infershape logic for CANN examples is fully supported by this guide. It provides specific patterns and scaffolding to align your operator definitions and kernels with existing CANN reference implementations.

Why do my AscendC op_host definitions fail to align with op_kernel implementations?

AscendC op_host definitions fail to align with op_kernel implementations when tiling patterns and DataType mappings are inconsistent. This guide enforces structured, pattern-based alignment across host, kernel, and CANN examples to resolve such errors.