Skip to main content

Apache TVM: An End-to-End Deep Learning Compiler Stack

Project description

Open Machine Learning Compiler Framework

Documentation | Contributors | Community | Release Notes

Apache TVM is an open machine learning compilation framework, following the following principles:

  • Python-first development that enables quick customization of machine learning compiler pipelines.
  • Universal deployment to bring models into minimum deployable modules.

License

TVM is licensed under the Apache-2.0 license.

Getting Started

Check out the TVM Documentation site for installation instructions, tutorials, examples, and more. The Getting Started with TVM tutorial is a great place to start.

Contribute to TVM

TVM adopts the Apache committer model. We aim to create an open-source project maintained and owned by the community. Check out the Contributor Guide.

History and Acknowledgement

TVM started as a research project for deep learning compilation. The first version of the project benefited a lot from the following projects:

  • Halide: Part of TVM's TIR and arithmetic simplification module originates from Halide. We also learned and adapted some parts of the lowering pipeline from Halide.
  • Loopy: use of integer set analysis and its loop transformation primitives.
  • Theano: the design inspiration of symbolic scan operator for recurrence.

Since then, the project has gone through several rounds of redesigns. The current design is also drastically different from the initial design, following the development trend of the ML compiler community.

The most recent version focuses on a cross-level design with TensorIR as the tensor-level representation and Relax as the graph-level representation and Python-first transformations. The project's current design goal is to make the ML compiler accessible by enabling most transformations to be customizable in Python and bringing a cross-level representation that can jointly optimize computational graphs, tensor programs, and libraries. The project is also a foundation infra for building Python-first vertical compilers for domains, such as LLMs.

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 Distributions

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

apache_tvm-0.25.0rc0-py3-none-win_amd64.whl (56.6 MB view details)

Uploaded Python 3Windows x86-64

apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (85.2 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (79.8 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

apache_tvm-0.25.0rc0-py3-none-macosx_11_0_arm64.whl (64.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file apache_tvm-0.25.0rc0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 214422eaab2b56c625e3f555c91b0bfc327a996cdf0763b1c224181b9a9fa7dc
MD5 e3ef784adf19ad7547ef765ec28ad5ef
BLAKE2b-256 9a0c4ce9513aad598d4d2ff1a20ae3ad1d7dd93f8d60e6734a03d554a27fa61b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0rc0-py3-none-win_amd64.whl:

Publisher: publish_wheel.yml on apache/tvm

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

File details

Details for the file apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fb3dc1d3afe8bfdcdb6de69f124ff6bd85229eb2441443daa016d6246f1d5b54
MD5 0eee90ba69b7490ca7df40badec73684
BLAKE2b-256 3c88b54468e3099fc04f0a493d8229c7e9c67c470fc1da046e8f5fe9214c566a

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish_wheel.yml on apache/tvm

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

File details

Details for the file apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7e32c0a77cc23c4ff7a42a14e691ea6e2c021ce4e766779303d2048d55b92f29
MD5 bce1b5bef244859c6e6e073c567ac74c
BLAKE2b-256 4e13c1abac6fc781211585bb2af125acb4f1780f460cf155378e459f97dca59c

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0rc0-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish_wheel.yml on apache/tvm

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

File details

Details for the file apache_tvm-0.25.0rc0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fdd51780f47e7c59186847a47f263c0c20ab0243d16d9b81a58c9da35e9328a
MD5 c585f537f8f990083bd54ce60ff20923
BLAKE2b-256 4a897c29a8fa11d5b8619344218a6c976023ed46944f3075d94671354c24615f

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0rc0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish_wheel.yml on apache/tvm

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