Download TileLang: PyPI, wheels and source on Ascend NPU

Install & Get StartedPublished 2026-10-01Author: DeepSeek Plugin Market
TileLangAscend NPUtilelang downloadpipwheelDeepSeekCANN
TileLang download guide: PyPI, GitHub Release wheels, nightly index and source, plus how to get tilelang-ascend on Ascend NPU and verify the install.

TileLang has four official download channels: pip install tilelang from PyPI, prebuilt wheels on GitHub Releases, the nightly preview index, and the source repository (installable straight from its Git URL). Ascend NPUs take a separate line — tilelang-ascend, which you can pip install, download as a wheel, or build yourself with build_wheel_ascend.sh.

This article covers three things in order: the channels, how to get the Ascend edition, and how to verify what you downloaded. It only answers "where the package comes from". What your environment needs and which route to install is in Install TileLang.

Where do I download TileLang? Four official channels and when to use each

TileLang maintains four download channels, all under the tile-ai name: the PyPI package, prebuilt wheels on GitHub Releases, the nightly preview index and the GitHub source repository. All four deliver the same package, differing only in freshness and whether you compile locally (source). Pick by scenario:

  1. Fastest start → use PyPI. Run pip install tilelang and pip picks a wheel matching your Python version (source). Expect the terminal to finish without errors.
  2. Offline distribution or pinned version → use GitHub Releases. Open the tile-ai/tilelang release page, download the wheel for your platform, then run pip install tilelang-0.0.0.dev0+ubuntu.20.4.cu120-py3-none-any.whl (use the filename you actually downloaded). Expect an install that never touches the network (source).
  3. Track main branch code → use the source repository. Run pip install git+https://github.com/tile-ai/tilelang.git and let pip fetch and build the repository. Expect a version newer than the PyPI release, but a noticeably longer build (source).
  4. Try new features early → use the nightly index. Run pip install tilelang -f https://tile-ai.github.io/whl/nightly. Expect the preview build generated that day, which is less stable than a release and not recommended for production.

To compile instead of installing a ready-made package, the official guide also ships a container path: git clone --recursive https://github.com/tile-ai/tilelang, step into docker/, and build an image with docker build -f Dockerfile.cu120 -t tilelang-cu120 . (source).

How do I download TileLang for Ascend NPU? Three ways to get tilelang-ascend

TileLang on Ascend ships as the separate package tilelang-ascend, with three official acquisition paths: install from PyPI, download a prebuilt wheel, or build a wheel from source with build_wheel_ascend.sh (source). Do them in this order:

  1. Prepare the Ascend environment first. Confirm CANN (8.3.RC1 or later) and torch-npu (2.6.0.RC1 or later) are present, then run source {your-cann-installed-path}/ascend-toolkit/set_env.sh. Expect echo $ASCEND_HOME_PATH to print the Ascend toolkit path.
  2. If you have network access, install directly. Run pip install tilelang-ascend. Expect pip to pull the package from PyPI with no local compilation.
  3. If you are air-gapped, use the official wheel. Copy the wheel to the target host, set export ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest, then run pip install tilelang-*.whl. Expect the single wheel matched by the glob to install; adjust the path to your actual toolkit location.
  4. If you need to build it yourself, use the official script. git clone --recursive https://github.com/tile-ai/tilelang-ascend, enter the directory, run ./build_wheel_ascend.sh [--enable-llvm], then install the artifact under dist/ with pip install dist/tilelang-*.whl. Expect a new wheel in dist/ and a successful install (source).

The upstream states that tilelang-ascend is currently validated on the A2 and A3 NPU families, with other Ascend models best-effort (source).

How do I verify a TileLang download? Version, wheel tag and import check

Three checks are enough: whether the interpreter imports it, what the version is, and whether the wheel's SDK tag matches your setup (source).

  1. Confirm import and version. Run python -c "import tilelang; print(tilelang.__version__)". Expect a printed version number; a ModuleNotFoundError means the package went to another Python environment, so align which python and pip -V first.
  2. Read the wheel's local version label. Official builds embed the SDK and toolchain in the version, for example tilelang-0.1.6.post1+cu116.git0d4a74be-cp38-abi3-linux_x86_64.whl, where +cu116 means a CUDA 11.6 build, with +rocm and +metal following the same scheme (source). Expect the tag to match your driver or SDK; if it does not, download a different wheel.
  3. Run a real kernel. On Ascend, cd into examples/gemm and run python example_gemm.py. Expect the terminal to print Kernel Output Match!, proving the downloaded package compiles and runs a kernel (source).

TileLang download notes

  1. Stick to tile-ai and the official PyPI pages. TileLang's repositories and packages live under tile-ai; third-party aggregators and "localized" repackages are not official distribution points, and this article only covers official channels.
  2. Keep TileLang and DeepSeek distinct. TileLang was started by a Peking University team; what DeepSeek open-sourced on 2026-09-30 is its Ascend-platform infrastructure components, including the TileLang Ascend edition, alongside the statement that most operators in DeepSeek V4-series training are built with it. It is not a DeepSeek-authored language, so do not misattribute it in docs or indexing.
  3. Do not upgrade the moment you finish downloading. Changing versions right after install mixes environment problems with version problems; get the current version working first, then upgrade via Update TileLang.

With the package in hand, the next step is putting it into an environment and validating both hardware routes in Install TileLang; the day-to-day tooling lives in TileLang command cheatsheet.

Sources: TileLang Installation Guide, tilelang · PyPI, tilelang-ascend · PyPI, tile-ai/tilelang Releases

FAQ

How do I download TileLang, and which of the official channels should I pick?

TileLang has four official download channels: PyPI, prebuilt wheels on GitHub Releases, the nightly preview index and the source repository. Run pip install tilelang for the fastest start, download a Release wheel for offline or pinned installs, or install the Git URL to track main. All four deliver the same package, differing only in freshness and whether you compile locally.

How do I download TileLang for an Ascend NPU, and does tilelang-ascend ship wheels?

TileLang on Ascend NPU ships as a separate package, tilelang-ascend, which you can install with pip install tilelang-ascend or by downloading the official wheel and running pip install tilelang-*.whl. The upstream also provides build_wheel_ascend.sh so you can build the wheel on an air-gapped host. Confirm CANN 8.3.RC1 or later and torch-npu 2.6.0.RC1 or later, then source the Ascend set_env.sh first.

How do I tell whether a TileLang wheel matches my CUDA version?

TileLang encodes the SDK and toolchain version in the wheel's local version label, so tilelang-0.1.6.post1+cu116.git0d4a74be-cp38-abi3-linux_x86_64.whl means a CUDA 11.6 build. Match the +cu..., +rocm or +metal tag against your driver or SDK, and check the Python version and the glibc 2.28 requirement. Because the official build lets you disable the label with NO_VERSION_LABEL, a missing label does not mean the wheel is not official.

After downloading TileLang, how do I confirm it installed and which version I have?

One command confirms a TileLang install: python -c "import tilelang; print(tilelang.__version__)" prints the version when the current interpreter can import it. A ModuleNotFoundError here usually means it landed in a different Python environment, so align with which python and pip -V before reinstalling. To prove it actually runs, cd into examples/gemm and run python example_gemm.py, which prints Kernel Output Match! on success.

My host has no PyPI access; can I download TileLang offline?

TileLang supports offline download: fetch the wheel from the GitHub Release page on a connected machine, copy it in, and run pip install tilelang-xxx.whl with no PyPI access at all. Ascend follows the same pattern with a wheel or a locally built wheel. The official Installation guide also documents a source build that works offline once the TVM submodules are present.

Related Terms

TileLang
TileLang is a tile-level domain-specific language built on the TVM compiler stack, started by a Peking University team, that generates high-performance GPU and NPU kernels from Python-like syntax. DeepSeek announced an Ascend edition on 2026-09-30 and stated that most operators in DeepSeek V4-series model training are implemented with it.— TileLang Installation Guide
tilelang-ascend
tilelang-ascend is the TileLang distribution for Huawei Ascend NPUs, whose compiler backend supports both the Ascend C & PTO and AscendNPU IR routes. It requires CANN 8.3.RC1 or later and torch-npu 2.6.0.RC1 or later.— tilelang-ascend · PyPI
nightly wheel
A nightly wheel is a TileLang preview build produced continuously from the main branch and installed with pip install tilelang -f https://tile-ai.github.io/whl/nightly. It carries the latest code changes and is less stable than a release.— TileLang Installation Guide
ASCEND_HOME_PATH
ASCEND_HOME_PATH is the environment variable pointing at the Ascend toolkit root, typically /usr/local/Ascend/ascend-toolkit/latest, that together with CANN's set_env.sh lets the compiler locate Ascend libraries before you install tilelang-ascend.— tilelang-ascend · PyPI

Sources