Skip to main content

Tilus

Project description

Tilus: A Tile-Level GPU Kernel Programming Language

Documentation | Paper

Tilus is a powerful research domain-specific language (DSL) for GPU programming that offers:

  • Thread-block-level granularity with tensors as the primary data type.
  • Explicit control over shared memory and register tensors (unlike Triton).
  • Low-precision types with arbitrary bit-widths (1 to 8 bits).

It also includes automatic tuning, caching, and a Pythonic interface for ease of use.

Tilus is pronounced as tie-lus, /ˈtaɪləs/.

Status

Tilus supports Ampere architecture, and we are actively working on support for Hopper/Blackwell GPUs (see the roadmap).

Getting Started

Installation

Install Tilus using pip:

pip install tilus

[!NOTE] Tilus depends on cuda-python. If your GPU driver is older than 580.65.06, you will need to install an older version of cuda-python to ensure compatibility.

pip install tilus "cuda-python<13"

Usage

To get started, refer to the tutorials to learn how to program kernels with Tilus.

You can also check more examples of using Tilus.

You can learn more on different topics in the programming guide.

Research

This project is based on the following research paper:

@inproceedings{ding2025tilus,
 author = {Ding, Yaoyao and Hou, Bohan and Zhang, Xiao and Lin, Allan and Chen, Tianqi and Yu, Cody Hao and Wang, Yida and Pekhimenko, Gennady},
 title = {Tilus: A Tile-Level GPGPU Programming Language for Low-Precision Computation},
 url = {https://doi.org/10.1145/3760250.3762219},
 booktitle = {Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1},
 series = {ASPLOS '26}
}

Acknowledgement

We would like to acknowledge the following projects for their influence on Tilus's design and development:

  • Hidet: We take Hidet IR as our low-level target and reuse its runtime system.
  • TVM: Hidet's initial IR was adopted from TVM, and we also learned a lot from TVM on how to build a compiler.
  • Triton: The core idea of defining kernels at a thread-block level and working with tiles was inspired by Triton.
  • Hexcute: We adopted the idea of using automatic layout inference to simplify programming from Hexcute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tilus-0.2.0-py3-none-any.whl (830.5 kB view details)

Uploaded Python 3

File details

Details for the file tilus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tilus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 830.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tilus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2820e4fd81bf07b4f2bf506381855fd63396a2a4ce33062ace9dc873dd6e5348
MD5 80d752476f032dcacbf1908052f9834d
BLAKE2b-256 e24f59463c35b35d849973897b62116bb3b11b3fa8f0d253f12b78d530f7cf93

See more details on using hashes here.

Provenance

The following attestation bundles were made for tilus-0.2.0-py3-none-any.whl:

Publisher: deploy-wheel-to-pypi.yaml on NVIDIA/tilus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page