AIAny
AI Infra2024
Icon for item

Tile Language (tile-lang)

A compact domain-specific language for writing high-performance GPU/CPU kernels (GEMM, FlashAttention, sparse kernels) with Python-like syntax. It provides tiling/pipelining primitives, a TVM-based compiler and multiple backends (CUDA/CuTeDSL, NVRTC, WebGPU, Metal, Ascend) for operator-level performance work.

Introduction

Most performance gaps in ML workloads come from operator implementations, not model architecture. Tile-lang treats operator authorship as a first-class engineering task: a compact, Pythonic DSL that surfaces tiling, pipelining, shared-memory and fragment primitives while compiling through a TVM-centered toolchain to multiple low-level backends. The result is a workflow that trades boilerplate kernel engineering for concise, tuneable kernels that can reach assembly-level performance on modern GPUs.

What Sets It Apart
  • Low-level tiling primitives exposed as high-level constructs — so what? Teams can express block-level copy, shared-memory layout and pipelined loops without writing CUDA/assembly, reducing iteration time for microkernel experiments.
  • Multi-backend codegen anchored on TVM — so what? The same DSL can target CUDA (including CuTeDSL/CUTLASS templates), NVRTC for faster compile cycles, WebGPU, Apple Metal and vendor IRs (e.g., Ascend), helping portability across HW without reauthoring kernels.
  • Focused operator examples and benchmarks — so what? Ready examples (GEMM, dequantize GEMM, FlashAttention, MLA) and benchmark scripts let engineers validate performance against device-specific baselines quickly.
Who It's For

Great fit if you are an ML systems engineer or researcher implementing or tuning low-level operators for training or inference, need fine-grained control over tiling/layout/pipelining, and want a faster iteration loop than hand-writing CUDA/assembly. Look elsewhere if you only need high-level model APIs, prefer entirely auto-generated kernels without manual tiling control, or cannot invest time in backend/toolchain familiarity (TVM, device specifics).

Where It Fits

Tile-lang sits between high-level operator libraries (cuBLAS/cuDNN, fused operator libraries) and handwritten device assembly: it’s more explicit than a fully auto-scheduled compiler but far more productive than raw CUDA/ASM. Compared to Triton or raw TVM kernels, tile-lang emphasizes concise syntax for tile-level programming plus a suite of device-focused backends and examples aimed at ML operator workloads.

How It Works

Authors write kernels in a Python-like DSL; the compiler lowers those kernels into TVM IR and then into backend-specific codegen (CUDA/CuTeDSL, NVRTC, Metal, WebGPU, Ascend IR). The project includes debugging helpers (e.g., printing, layout plotting), nightly wheels, and example operator implementations that demonstrate tuning knobs and performance tradeoffs. Expect to pair tile-lang with device knowledge and benchmarking to unlock top-end performance.

Information

  • Websitegithub.com
  • Authorstile-ai (GitHub org), LeiWang1999, chengyupku, nox-410, Zhi Yang (supervisor)
  • Published date2024/10/03

Categories

More Items

GitHub
AI Infra2025

Measures generative AI inference performance with token-level metrics (TTFT, inter-token latency), latency, and throughput under realistic traffic patterns. Provides a multiprocess engine, real-time TUI dashboard, extensible plugins, and integrations for telemetry and result uploads, aimed at inference benchmarking and capacity planning.

GitHub
AI Train2019

Train and experiment with multi-billion to trillion-parameter transformer models on large GPU clusters using GPU-optimized building blocks and reference training scripts; offers advanced parallelism and mixed-precision support for research teams and ML engineers.

GitHub

Indexes full text of visited web pages and local files on a self‑hosted server so you can search your personal knowledge from a web UI, terminal, CLI, or an AI assistant. Runs without mandatory telemetry, offers a browser extension for automatic capture, and supports optional semantic search via a configurable embeddings endpoint.