tilelang

用 Python 写高性能 GPU 算子,少调优也能跑得快

TileLang 是一个面向高性能算子开发的领域特定语言(DSL),用 Python 编写,目标是简化 GPU、CPU 及各类加速器上的 kernel 开发。它把常见的分块(tile)、内存层级、线程绑定和流水线调度抽象成高层原语,开发者只需描述计算逻辑与数据布局,编译器负责生成高效的底层代码。相比直接写 CUDA/HIP 或 Triton,TileLang 降低了手工调优的复杂度,同时保留对性能关键细节的控制能力。它适用于矩阵乘、注意力、卷积等深度学习算子的快速实现与自动调优,支持在多种后端上运行,并可与 PyTorch 等框架配合做算子替换。项目处于成长阶段,社区活跃,适合需要自研高性能算子的团队作为开发与实验平台。

开源 unknown 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 8469
维护状态 活跃
是否开源 是
定价模式 unknown

项目预览

项目数据

分类开发框架
开发团队tile-ai
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型
GitHub 星标★ 8469
30天Star增速
HF 下载量
上线时间2024-10-03 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-08
浏览次数0

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境与可用的 pip
  • 支持 CUDA 的 GPU 环境(快速开始示例使用 PyTorch CUDA 张量)
  • AMD GPU 需主机安装 ROCm,并先安装 ROCm 版 PyTorch
  • 已安装 PyTorch(运行快速开始示例所需)

安装与启动步骤

  1. 1安装稳定版

    从 PyPI 安装最新的 tilelang 稳定版,这是 README 推荐的首选安装方式。

    pip install tilelang
  2. 2验证安装

    导入 tilelang 并打印版本号,能输出版本即安装成功。

    python -c "import tilelang; print(tilelang.__version__)"
  3. 3可选装 nightly

    nightly wheel 包含下一个稳定版之前的新特性与修复,但稳定性可能不如正式版。

    pip install tilelang --find-links https://tile-ai.github.io/whl/nightly
  4. 4AMD 环境准备

    AMD GPU 上 Linux wheel 开箱可用,但需先装 ROCm 版 PyTorch,且运行时要求主机已安装 ROCm。

    pip install torch --index-url https://download.pytorch.org/whl/rocm7.0
    pip install tilelang
  5. 5运行快速开始示例

    把示例代码保存后运行,它会定义、编译、执行并校验一个 FP16 GEMM 加 ReLU 的 kernel,成功时打印 GEMM + ReLU passed.

    import torch
    import tilelang
    import tilelang.language as T
    
    
    @tilelang.jit
    def matmul_relu(A, B, block_M: int = 128, block_N: int = 128, block_K: int = 32):
        M, N, K = T.const("M, N, K")
        A: T.Tensor((M, K), T.float16)
        B: T.Tensor((K, N), T.float16)
        C = T.empty((M, N), T.float16)
    
        with T.Kernel(T.ceildiv(N, block_N), T.ceildiv(M, block_M), threads=128) as (bx, by):
            A_shared = T.alloc_shared((block_M, block_K), T.float16)
            B_shared = T.alloc_shared((block_K, block_N), T.float16)
            C_local = T.alloc_fragment((block_M, block_N), T.float32)
    
            T.clear(C_local)
            for k in T.Pipelined(T.ceildiv(K, block_K), num_stages=3):
                T.copy(A[by * block_M, k * block_K], A_shared)
                T.copy(B[k * block_K, bx * block_N], B_shared)
                T.gemm(A_shared, B_shared, C_local)
    
            for i, j in T.Parallel(block_M, block_N):
                C_local[i, j] = T.max(C_local[i, j], 0)
    
            T.copy(C_local, C[by * block_M, bx * block_N])
    
        return C
    
    
    M = N = K = 1024
    a = torch.randn((M, K), device="cuda", dtype=torch.float16)
    b = torch.randn((K, N), device="cuda", dtype=torch.float16)
    c = matmul_relu(a, b)
    torch.testing.assert_clos

如何确认成功

执行 python -c "import tilelang; print(tilelang.__version__)" 能打印版本号;运行快速开始示例打印出 GEMM + ReLU passed.

常见问题

Q:nightly 版和稳定版该选哪个?

A:优先用 pip install tilelang 安装稳定版;nightly 含最新特性和修复,但可能不如正式版稳定,仅在有需要时使用 --find-links 方式安装。

Q:AMD GPU 上能直接用吗?

A:同样的 Linux wheel 开箱可用,但需先安装 ROCm 版 PyTorch,且运行时主机必须已安装 ROCm,详见官方安装指南中的 ROCm 说明。

Q:想用 Docker、源码构建或自定义 TVM 怎么办?

A:README 未给出这些命令,需按官方完整安装指南操作:https://tilelang.com/get_started/Installation.html

Q:示例为什么指定 device="cuda"?

A:示例使用 PyTorch CUDA 张量,在 ROCm 系统上 PyTorch 同样使用 cuda 这个设备名;TileLang 会根据当前环境自动选择目标。

注意事项

  • nightly 构建的稳定性可能低于官方正式发布版本。
  • 源码构建、可编辑安装、Docker、ROCm 细节、pip 提供的 CUDA 工具链及自定义 TVM 均需参考官方安装指南。
  • 运行快速开始示例需要可用的 CUDA/ROCm GPU 环境与 PyTorch。

核心亮点

  • 用 Python 描述分块与流水线,避免手写大量 CUDA 样板代码
  • 抽象层级兼顾易用与可控,能针对内存层级和线程映射做精细调优
  • 面向多后端(GPU/CPU/加速器),同一份算子逻辑可迁移到不同硬件

不足之处

  • DSL 与编译器栈较新,部分边界场景的调试和报错信息可能不够友好
  • 生态与文档仍在完善中,复杂算子的最佳实践积累有限

适用场景

  • 为自研大模型实现高性能注意力或矩阵乘算子
  • 在多种 GPU/加速器上快速移植和调优同一套 kernel
  • 教学或研究中对比不同分块与流水线策略对性能的影响

替代项目

Triton、TVM

项目介绍

tilelang 是开发框架领域的开源项目,由 tile-ai 开发,2024 年首次发布。

在全站 13,916 个收录项目中,它的 GitHub 星标数(8,469)位列前 6%,在开发框架分类的 844 个项目里位列前 7%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-10-07。

它主要面向的使用场景是:为自研大模型实现高性能注意力或矩阵乘算子。同类可对比的替代方案包括 Triton、TVM。

上一篇:x

下一篇:streamdown

同类项目推荐

dsh-our-free-model 开源

装个插件就能免密钥白嫖前沿大模型,不限量

在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Fl···

★ 3323 2026-10-04
langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 147537 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 167028 2026-08-09