Token导航 LogoToken导航

Agent Skill · 前端设计

tilelang-developer(瓦伦开发者)

tilelang-developer 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

tilelang-developer 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证为 MIT,第三方扫描已通过,按安装量在前端设计类的 10,216 个 Skill 里排第 8,294。

总安装 297周安装 12GitHub Stars 121下载 93核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tilelang-developer(瓦伦开发者)
来源仓库:https://github.com/yzlnew/infra-skills
仓库路径:skills/tilelang-developer
安装命令:
npx skills add https://github.com/yzlnew/infra-skills --skill tilelang-developer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/yzlnew/infra-skills --skill tilelang-developer

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

tilelang-developer 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。适合在开发过程中围绕仓库状态、代码变更或协作事项进行信息整理。通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 核验具体功能。

安装前建议确认权限范围、维护状态,以及是否涉及联网或文件操作。该技能归类为前端设计类,但实际能力以源码实现为主。

来源仓库内路径:skills/tilelang-developer

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/yzlnew/infra-skills --skill tilelang-developer;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

tilelang-developer 怎么安装?

在终端执行 npx skills add https://github.com/yzlnew/infra-skills --skill tilelang-developer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

tilelang-developer 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

tilelang-developer 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

tilelang-developer 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

tilelang-developer 用的人多吗?

公开数据是累计安装 297 次,近一周安装 12 次,下载 93 次,GitHub 121 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

tilelang-developer 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
tilelang-developer

瓦伦开发者 · 本页

297121需要联网MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

TileLang Developer

Write high-performance AI compute kernels using TileLang - a tile-based programming model that bridges the gap between CUDA's low-level control and high-level abstractions.

When to Use This Skill

Use this skill when the user needs to:

  • Implement custom GPU kernels for AI operations (matrix multiplication, attention mechanisms, etc.)
  • Optimize performance-critical operators for modern GPUs (NVIDIA Ampere/Hopper, AMD MI300X, Ascend NPU)
  • Debug TileLang code or resolve performance issues
  • Port kernels across different hardware platforms
  • Understand or modify existing TileLang implementations

Kernel Development Workflow

Follow these steps when writing a TileLang kernel:

Step 1: Analyze Requirements

Gather essential information:

Input/Output Specifications:

  • Tensor shapes (M, N, K dimensions)
  • Data types (float16, float32, bfloat16, int8)
  • Memory layout (row-major, column-major)

Hardware Target:

  • NVIDIA GPU (Ampere A100, Hopper H100, etc.)
  • AMD GPU (MI300X, etc.)
  • Huawei Ascend NPU

Performance Goals:

  • Target throughput or latency
  • Memory bandwidth constraints
  • Comparison baseline (cuBLAS, vendor libraries)

Ask clarifying questions if details are missing.

Step 2: Set Up Kernel Structure

Create the basic kernel scaffold:

import tilelang
import tilelang.language as T

@tilelang.jit(target="cuda", out_idx=[2])  # Specify output indices
def kernel_name(M, N, K, block_M, block_N, block_K):
    @T.prim_func
    def main(
        A: T.Buffer((M, K), "float16"),
        B: T.Buffer((K, N), "float16"),
        C: T.Buffer((M, N), "float16")
    ):
        # Kernel logic will go here
        pass

    return main

Key decisions:

  • target: "cuda" (NVIDIA), "hip" (AMD), or "cpu"
  • out_idx: List indices of output parameters
  • Block dimensions: Typical values are 64, 128, or 256

Step 3: Define Grid and Memory Hierarchy

Set up computation grid and allocate memory:

# Define grid dimensions
with T.Kernel(
    T.ceildiv(N, block_N),  # Grid X
    T.ceildiv(M, block_M),  # Grid Y
    threads=128
) as (bx, by):

    # Allocate shared memory (L1 cache)
    A_shared = T.alloc_shared((block_M, block_K), "float16")
    B_shared = T.alloc_shared((block_K, block_N), "float16")

    # Allocate register fragments (accumulators)
    C_local = T.alloc_fragment((block_M, block_N), "float32")

    # CRITICAL: Apply swizzle layout to avoid bank conflicts
    T.annotate_layout({
        A_shared: T.make_swizzled_layout(A_shared),
        B_shared: T.make_swizzled_layout(B_shared)
    })

Memory hierarchy:

  • Global Memory (HBM): Input/output tensors, slowest
  • Shared Memory (L1): Explicitly managed cache, ~164KB on A100
  • Registers: Fastest, used for accumulators and temporaries

Critical optimization: Always apply T.make_swizzled_layout to shared memory to eliminate bank conflicts.

Step 4: Implement Computation Logic

Use TileLang primitives for data movement and computation:

# Initialize accumulator
T.clear(C_local)

# Main computation loop with software pipelining
for k in T.Pipelined(T.ceildiv(K, block_K), num_stages=3):
    # Load tiles from global to shared memory
    T.copy(A[by * block_M, k * block_K], A_shared)
    T.copy(B[k * block_K, bx * block_N], B_shared)

    # Compute using Tensor Cores
    T.gemm(A_shared, B_shared, C_local, transpose_B=False)

# Write results back
T.copy(C_local, C[by * block_M, bx * block_N])

Key primitives:

  • T.copy: Intelligent data transfer (auto-selects cp.async, TMA, etc.)
  • T.gemm: Matrix multiplication using Tensor Cores
  • T.Pipelined: Software pipelining to overlap compute and memory transfer
  • T.Parallel: Element-wise parallel operations

Pipeline stages:

  • num_stages=2: Double buffering
  • num_stages=3: Triple buffering (recommended for most workloads)
  • num_stages=4+: Diminishing returns, increases shared memory usage

Step 5: Validate and Test

Generate test code to verify correctness:

# Example instantiation
func = kernel_name(
    M=1024, N=1024, K=1024,
    block_M=128, block_N=128, block_K=32
)

# Test against reference implementation
import torch
A = torch.randn(1024, 1024, dtype=torch.float16, device='cuda')
B = torch.randn(1024, 1024, dtype=torch.float16, device='cuda')
C_tilelang = torch.empty(1024, 1024, dtype=torch.float16, device='cuda')
C_reference = A @ B

func(A, B, C_tilelang)

# Verify with appropriate tolerance for FP16
torch.testing.assert_close(C_tilelang, C_reference, rtol=1e-3, atol=1e-3)

Step 6: Optimize Performance

Apply advanced optimizations if performance is suboptimal:

Block Size Tuning:

  • A100: Try 128×128×32 or 64×64×32
  • H100: Can use larger blocks (256×128×32)
  • MI300X: May need smaller blocks due to 64KB shared memory limit

Pipeline Depth:

  • Increase num_stages if memory-bound
  • Decrease if shared memory is exhausted

Warp Policy (for advanced cases):

T.gemm(A, B, C, policy=T.GemmWarpPolicy.FullRow)  # For attention
T.gemm(A, B, C, policy=T.GemmWarpPolicy.FullCol)  # For MLA decode

Block-level swizzle:

T.use_swizzle(panel_size=10)  # Improves L2 cache hit rate

Common Kernel Patterns

Matrix Multiplication (GEMM)

Most fundamental kernel. See EXAMPLES.md for complete implementation.

Key features:

  • 3-stage pipelining
  • Swizzle layout for shared memory
  • Float32 accumulator for precision

FlashAttention

Memory-efficient attention with online softmax. See EXAMPLES.md for complete implementation.

Key features:

  • O(N) memory complexity
  • Online softmax statistics
  • Fused kernel (no intermediate materialization)

DeepSeek MLA

Multi-Head Latent Attention with KV compression. See EXAMPLES.md for complete implementation.

Key features:

  • Split-KV parallelization
  • Non-standard dimensions
  • FullCol warp policy for narrow matrices

Reference Documentation

When you need specific information:

Critical Performance Guidelines

Always include these optimizations:

  1. Swizzle layout for shared memory: T.annotate_layout({A_shared: T.make_swizzled_layout(A_shared)})
  2. Software pipelining: for k in T.Pipelined(num_blocks, num_stages=3):
  3. Float32 accumulators: C_local = T.alloc_fragment((M, N), "float32") # Not float16
  4. Aligned block_K: block_K = 32 # Or 16, must align for Tensor Core
  5. Initialize accumulators: T.clear(C_local)

Hardware-Specific Considerations

NVIDIA GPUs

  • Ampere (A100): Use cp.async, num_stages=3, block_K=32
  • Hopper (H100): Can use TMA, larger blocks (256×128), num_stages=4
  • Shared memory: 164KB (A100), 228KB (H100)

AMD GPUs

  • MI300X: Use target="hip", smaller blocks, 64KB shared memory limit
  • Test with both HIP and CUDA backends for compatibility

Huawei Ascend

  • More experimental backend
  • May require specific block sizes
  • Consult Ascend-specific documentation

Code Quality Standards

When generating TileLang code:

  1. Add explanatory comments for non-obvious optimizations
  2. Specify hardware assumptions (e.g., "optimized for A100")
  3. Include usage examples showing instantiation
  4. Document block size choices and tuning rationale
  5. Provide performance expectations (e.g., "~90% of cuBLAS")

Example Kernel Request Flow

User: "Write a FP16 matrix multiplication kernel for A100"

Response:

  1. Clarify dimensions (if not specified)
  2. Generate complete kernel code with:

- Proper structure (@tilelang.jit, @T.prim_func) - Swizzle layouts - 3-stage pipelining - Appropriate block sizes (128×128×32)

  1. Add usage example
  2. Explain key optimizations:

- "Swizzle layout eliminates bank conflicts" - "3-stage pipeline overlaps memory and compute" - "Float32 accumulator prevents overflow"

  1. Suggest testing approach

Troubleshooting Quick Reference

Compilation errors:

  • Shared memory exceeded → Reduce block size or num_stages
  • Shape mismatch → Verify dimension alignment in T.gemm

Runtime errors:

  • Results all zeros → Check T.clear() and out_idx in decorator
  • NaN/Inf → Use float32 accumulator, add epsilon in division

Performance issues:

  • Low throughput → Verify swizzle layout and pipelining enabled
  • Low occupancy → Reduce shared memory usage or block size
  • Bank conflicts → Apply T.make_swizzled_layout

For detailed solutions, consult DEBUGGING.md.

平台分布

windsurf

28.55%
按下载量换算27

trae

25.18%
按下载量换算23

OpenCode

17.54%
按下载量换算16

Codex

13.08%
按下载量换算12

Claude Code

7.79%
按下载量换算7

Antigravity

3.95%
按下载量换算4

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills