tilelang-mode-guide

Guide TileLang Ascend mode selection and pass_config configuration for NPU kernels.

346|151|Updated Sep 25, 2025
One-click install
npx skills add https://github.com/tile-ai/tilelang-ascend --skill tilelang-mode-guide
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tilelang-mode-guide
Source: https://github.com/tile-ai/tilelang-ascend/tree/main/.agents/skills/tilelang-custom-skill/tilelang-expert-to-developer
Command: npx skills add https://github.com/tile-ai/tilelang-ascend --skill tilelang-mode-guide

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developers working with TileLang Ascend often struggle to choose the appropriate programming mode and correctly set the pass_configs for optimal NPU performance, especially when transitioning code between Expert and Developer paradigms.

Core Features & Use Cases

  • Mode Comparison: Clear side‑by‑side overview of Developer and Expert modes, including memory allocation, computation expression, scope handling, synchronization, and pass_config defaults.
  • Pass Config Guidance: Detailed explanation of the four Ascend‑specific pass_config switches and recommended settings per scenario.
  • Conversion Procedure: Step‑by‑step rules for converting Expert‑mode kernels to Developer mode, covering pass_config activation, memory allocation changes, scope and synchronization removal, and code transformation examples.
  • Reference Links: Direct pointers to example directories and mode‑specific code samples for quick lookup.

Quick Start

Convert an Expert‑mode TileLang kernel to Developer mode using the appropriate pass_configs.

Frequently Asked Questions about tilelang-mode-guide

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

FAQPage Schema
What is the difference between TileLang Developer and Expert modes for Ascend NPU?

TileLang Developer and Expert modes differ in memory allocation, computation expression, scope handling, and synchronization. Developer mode provides granular control over Ascend NPU kernel optimization, whereas Expert mode abstracts these details with default pass_configs.

How do I convert a TileLang Ascend kernel from Expert mode to Developer mode?

To convert a TileLang Ascend kernel from Expert to Developer mode, activate the specific pass_configs, change memory allocation methods, remove scope and synchronization declarations, and apply the code transformation rules.

Which pass_config switches should I use for TileLang Ascend NPU kernels?

TileLang provides four Ascend-specific pass_config switches. Recommended settings vary per scenario, allowing developers to optimize NPU kernel performance by toggling memory allocation and computation expression behaviors during mode transitions.

When do I need to change pass_configs for TileLang Ascend programming?

You need to change pass_configs when transitioning TileLang Ascend code between Expert and Developer paradigms or when optimizing NPU kernel performance beyond the default settings provided by Expert mode.

Does TileLang Developer mode require manual synchronization for Ascend NPU kernels?

TileLang Developer mode requires manual handling of synchronization and scope, unlike Expert mode which abstracts these behaviors. Removing synchronization declarations is a necessary step when converting Ascend NPU kernels to Developer mode.

Where can I find code examples for TileLang Ascend mode configuration?

TileLang provides direct reference links to example directories and mode-specific code samples. These references offer quick lookup for accurate pass_config activation and Ascend kernel conversion steps.