TileLang 怎么更新?DeepSeek 开源算子语言的升版本、切 nightly 与回退旧版方法
TileLang 的更新分三条路:升级正式版执行 pip install -U tilelang(昇腾侧 pip install -U tilelang-ascend);抢先试新特性走 nightly 索引 pip install tilelang -f https://tile-ai.github.io/whl/nightly;升级后出问题就钉版本号重装回退,并清一次 ~/.tilelang/cache 编译缓存。
本文按「升级正式版 → 切 nightly → 回退旧版」讲。更新只解决版本问题,装环境的完整过程见《TileLang 怎么安装》。
TileLang 正式版怎么升级?
升级 TileLang 正式版就是一次 pip 升级:NVIDIA 侧 pip install -U tilelang,昇腾侧 pip install -U tilelang-ascend,装上的都是 PyPI 上的最新正式版(来源)。 按下面顺序做:
- 先看当前版本。执行
pip show tilelang或python -c "import tilelang; print(tilelang.__version__)"。预期结果:打印出当前已装版本号,作为升级前基线(来源)。 - 再看有哪些可升级版本。执行
pip index versions tilelang。预期结果:列出索引里可安装的版本,确认目标版本确实存在。 - 执行升级。NVIDIA 侧
pip install -U tilelang;昇腾侧pip install -U tilelang-ascend。预期结果:pip 装上比当前更新的正式版,并提示Successfully installed(来源)。 - 升级后复核。重复第 1 步。预期结果:版本号已变;如果没变,多半是装到了另一个 Python 环境,用
which python与pip -V对齐。
想固定渠道而不是每次自动升级,也可以按《TileLang 怎么下载》里的 GitHub Release 路径,手工下载指定版本的 wheel 安装。
TileLang 想抢先新特性装 nightly 怎么做?
TileLang 的 nightly 走官方预览索引:pip install tilelang -f https://tile-ai.github.io/whl/nightly,装的是主分支当天构建的预览版(来源)。
- 装 nightly。执行
pip install tilelang -f https://tile-ai.github.io/whl/nightly。预期结果:pip 从 nightly 索引取包并安装,版本号通常带预览标记。 - 明白代价再装。nightly 包含最新代码改动,没有正式发布版的稳定性保证(来源)。预期结果认知:它适合验证刚修的问题或试新特性,不适合生产环境。
- 想回正式版就重装。执行
pip install --force-reinstall tilelang(不带 nightly 索引)。预期结果:从 PyPI 装回正式版,退出 nightly 通道。
nightly 与正式版可以用同一套命令切换,区别只在 -f 指向的索引;切换后同样建议复核版本号。
TileLang 升级后出问题怎么回退?
回退靠钉版本号重装:pip install tilelang==<旧版本>,装完清一次 ~/.tilelang/cache,避免升级期间的新版编译产物混进缓存(来源)。
- 确认要回退到的版本。用
pip index versions tilelang或 Release 页找到目标版本号。预期结果:拿到一个确定的版本号,例如0.1.6(来源)。 - 钉版本重装。执行
pip install tilelang==0.1.6(昇腾侧换成tilelang-ascend==<版本>)。预期结果:装回指定版本,pip show显示的版本号等于你钉的那一个。 - 清编译缓存。执行
rm -rf ~/.tilelang/cache。预期结果:下次编译重新生成产物,排除新旧版本产物混用导致的结果不一致(来源)。 - 复核回退结果。重复版本查看命令并跑一次 GEMM 示例。预期结果:版本号是旧版,示例仍打印
Kernel Output Match!。
TileLang 更新的注意事项
- 别在生产环境切 nightly。nightly 的价值是「早」,代价是「不稳」;要长期跑就用正式版。
- 升级与回退都要清缓存。
~/.tilelang/cache是版本切换后最容易被忽略、又最容易造成「代码没改结果却变了」的地方。 - 先记录版本再动手。升级前把当前版本号和可回退的版本一起记下来,回退时不用猜。
- 只更新该更新的包。昇腾侧升级
tilelang-ascend时不要把 CANN 与 torch-npu 一起跟着升,这两者的版本要求见《TileLang 怎么安装》。
如果升级后确定要换环境重来,卸载的完整步骤(含别误删 CANN 与 torch-npu 的边界)在《TileLang 怎么卸载》;升级后要用的命令速查在《TileLang 命令大全》。
来源:TileLang Installation Guide、tilelang · PyPI、tile-ai/tilelang Releases
常见问题
TileLang 升级正式版用的是 pip 的升级开关:NVIDIA 侧执行 pip install -U tilelang,昇腾侧执行 pip install -U tilelang-ascend,两条都会装上 PyPI 上的最新正式版。升级前先用 pip index versions tilelang 或 pip show tilelang 看清当前与可用版本,升级后再跑一次 import tilelang 确认版本号已变。
TileLang 的 nightly 通过官方索引安装:pip install tilelang -f https://tile-ai.github.io/whl/nightly,装的是主分支当天构建的预览版。它比正式版更新,但没有发布版的稳定性保证,适合验证新特性或复现刚修的问题,不建议在生产环境用。
TileLang 回退靠钉版本号重装:pip install tilelang==0.1.6 这类写法可以精确装回指定版本,昇腾侧同理。回退后建议清一次 ~/.tilelang/cache 编译缓存,因为缓存里可能留着升级期间的新版编译产物,清掉可避免新旧产物混用带来的诡异结果。
TileLang 升级后建议清一次编译缓存,位置在 ~/.tilelang/cache。缓存按 kernel 复用编译产物,升级期间产生的产物可能与新版本不再匹配,删掉该目录强制重编就能排除这一类问题;如果升级后一切正常,也可以不清,等到出现异常结果时再清。
查看 TileLang 版本有两条命令:pip show tilelang 或 python -c "import tilelang; print(tilelang.__version__)" 看当前已装版本,pip index versions tilelang 列出该包在索引里可装的版本。昇腾侧把包名换成 tilelang-ascend 即可。
相关术语
- TileLang
- TileLang 是由北京大学团队发起、基于 TVM 编译栈的 tile 级领域特定语言,用类 Python 语法生成高性能 GPU / NPU kernel;DeepSeek 于 2026-09-30 宣布开源其昇腾适配版。— TileLang Installation Guide
- nightly 版
- nightly 版是 TileLang 官方从主分支持续构建的预览包,用 pip install tilelang -f https://tile-ai.github.io/whl/nightly 安装,包含最新改动但稳定性低于正式发布版。— TileLang Installation Guide
- 版本钉死(pin)
- 版本钉死是用 pip install 包名==版本号 的写法把依赖锁定在某个确定版本,用于回退 TileLang 或防止自动升级。— tilelang · PyPI
- 编译缓存
- TileLang 的编译缓存位于 ~/.tilelang/cache,保存已编译的 kernel 产物;版本升级或改动代码后仍命中旧产物时,应删除该目录强制重编。— TileLang Installation Guide
来源
- TileLang Installation Guide· TileLang (tile-ai)
- tilelang · PyPI· PyPI
- tile-ai/tilelang Releases· GitHub