Download TileLang: PyPI, wheels and source on Ascend NPU
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:
- Fastest start → use PyPI. Run
pip install tilelangand pip picks a wheel matching your Python version (source). Expect the terminal to finish without errors. - Offline distribution or pinned version → use GitHub Releases. Open the
tile-ai/tilelangrelease page, download the wheel for your platform, then runpip 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). - Track main branch code → use the source repository. Run
pip install git+https://github.com/tile-ai/tilelang.gitand let pip fetch and build the repository. Expect a version newer than the PyPI release, but a noticeably longer build (source). - 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:
- 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. Expectecho $ASCEND_HOME_PATHto print the Ascend toolkit path. - If you have network access, install directly. Run
pip install tilelang-ascend. Expect pip to pull the package from PyPI with no local compilation. - 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 runpip install tilelang-*.whl. Expect the single wheel matched by the glob to install; adjust the path to your actual toolkit location. - 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 underdist/withpip install dist/tilelang-*.whl. Expect a new wheel indist/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).
- Confirm import and version. Run
python -c "import tilelang; print(tilelang.__version__)". Expect a printed version number; aModuleNotFoundErrormeans the package went to another Python environment, so alignwhich pythonandpip -Vfirst. - 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+cu116means a CUDA 11.6 build, with+rocmand+metalfollowing the same scheme (source). Expect the tag to match your driver or SDK; if it does not, download a different wheel. - Run a real kernel. On Ascend, cd into
examples/gemmand runpython example_gemm.py. Expect the terminal to printKernel Output Match!, proving the downloaded package compiles and runs a kernel (source).
TileLang download notes
- Stick to
tile-aiand the official PyPI pages. TileLang's repositories and packages live undertile-ai; third-party aggregators and "localized" repackages are not official distribution points, and this article only covers official channels. - 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.
- 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
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.
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.
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.
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.
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
- TileLang Installation Guide· TileLang (tile-ai)
- tilelang · PyPI· PyPI
- tilelang-ascend · PyPI· PyPI
- tile-ai/tilelang Releases· GitHub