flydsl-kernel-authoring

Author AMDGPU kernels with FlyDSL layout algebra and MLIR lowering.

260|104|Updated Nov 23, 2025
One-click install
npx skills add https://github.com/ROCm/FlyDSL --skill flydsl-kernel-authoring
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: flydsl-kernel-authoring
Source: https://github.com/ROCm/FlyDSL/tree/main/.claude/skills/flydsl-kernel-authoring
Command: npx skills add https://github.com/ROCm/FlyDSL --skill flydsl-kernel-authoring

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Comprehensive reference for authoring FlyDSL GPU kernels on AMD GPUs. Covers the layout algebra, tiled copy/MMA, buffer ops, scf.for loops, SmemAllocator, autotuning, and common patterns. Use when writing, reviewing, or understanding FlyDSL kernel code.

Core Features & Use Cases

  • Clear explanations of layout algebra, tiling, memory movement, and ROCm intrinsics.
  • Practical patterns and recipes for element-wise kernels, data movement, and autotuning workflows.
  • Use cases: implement custom kernels (GEMM, vector ops) on MI300X/MI350 with explicit layouts.

Quick Start

Begin by studying the overview and then implement a minimal FlyDSL kernel using the provided templates on your MI300X/MI350 GPU.

Frequently Asked Questions about flydsl-kernel-authoring

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

FAQPage Schema
How do I write a custom GPU kernel for AMD MI300X using MLIR?

To write a custom GPU kernel for AMD MI300X, use FlyDSL's explicit layout algebra and MLIR-backed compiler pipeline to construct tiled kernels, manage data movement, and integrate MFMA operations for gfx942/gfx950 architectures.

What is layout algebra and how does it handle tiling for AMDGPU kernels?

Layout algebra in AMDGPU kernels defines explicit memory access patterns and tiling strategies for data movement. It allows developers to structure kernel construction using MLIR, optimizing buffer operations and scf.for loops for MI300X and MI350 GPUs.

Do I need Python and MLIR experience to develop FlyDSL kernels on ROCm?

Yes, developing FlyDSL kernels on ROCm requires familiarity with Python and MLIR. End-to-end kernel development also expects knowledge of ROCm tooling to effectively handle layout construction, memory access patterns, and optional autotuning workflows.

Can I implement GEMM and vector operations with FlyDSL on MI350 GPUs?

Yes, you can implement GEMM and vector operations on MI350 GPUs using FlyDSL. The framework provides practical patterns and recipes for element-wise kernels, data movement, and explicit layouts tailored for AMD gfx942/gfx950 architectures.

How do I optimize memory access patterns and buffer ops in AMDGPU kernels?

To optimize memory access patterns and buffer ops in AMDGPU kernels, utilize FlyDSL's SmemAllocator and tiled copy operations. These tools help manage data movement and memory layout construction effectively within the MLIR compiler pipeline.

What is the best way to autotune AMDGPU kernels written with FlyDSL?

The best way to autotune AMDGPU kernels written with FlyDSL is to use the provided autotuning workflows. These workflows integrate with the MLIR-backed compiler pipeline to optimize tiled copy and MMA operations across different explicit layouts for MI300X/MI350 GPUs.