跳到主要内容
TileLang 系统教程

tilelang-tutorial.huandu.me

第 05 章 横向对比:CUDA / Triton / CUTLASS-CuTe / TVM / cuTile / Ascend C / PTO-DSL

/code/05-comparisons/

README.md999 字节
# 第 05 章 代码

本章是**对比**章,代码的作用不是「跑出性能」,而是把同一个算子在不同抽象层次上的
写法并排摆出来,让你看见「少掉的代码被谁吃掉了」。

## 目录

| 目录 | 内容 | 是否需要加速器 |
| --- | --- | --- |
| `01-unified-gemm-relu/` | 统一例子 `C = relu(A @ B)` 在六个系统里的写法(含伪代码与真实片段) | 见各文件说明 |
| `02-abstraction-layers/` | 一个**纯 Python、可在 CPU 上运行**的脚本,打印本章的抽象层次表与决策表 | 不需要 |

## 验证级别说明(与 WORK-PLAN §3.4 一致)

写作环境为 macOS (Apple Silicon)、Python 3.11,**没有 NVIDIA GPU,也没有昇腾 NPU**。
因此本章:

* `01-unified-gemm-relu/` 下的所有文件都是 **`仅静态核对`**:
  * 涉及 TileLang API 的,逐个在 `_vendor/tilelang-v0.1.15/` 中比对了名字与签名;
  * 涉及 Triton / CUDA / CUTLASS-CuTe / Ascend C / PTO-DSL 的,标注了来源,
    并明确区分「真实片段」与「教学伪代码」;
  * **没有任何一个文件在本机执行过**。
* `02-abstraction-layers/abstraction_layers.py` 是唯一可以真正跑起来的脚本,
  其验证级别是 **`在 CPU 上验证过逻辑`**(纯 Python,无第三方依赖)。

## 运行

```bash
# 只跑得起来的那个(CPU)
python3 02-abstraction-layers/abstraction_layers.py

# 语法静态检查(不 import、不需要硬件)
python3 -m py_compile 01-unified-gemm-relu/*.py 02-abstraction-layers/*.py
```

在真实硬件上如何验证各片段,见 `01-unified-gemm-relu/README.md` 末尾的「在有卡机器上
怎么验证」。

← 浏览本章全部代码