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.0.post1-py3-none-win_amd64.whl (56.3 MB view details)

Uploaded Python 3Windows x86-64

apache_tvm-0.25.0.post1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (84.9 MB view details)

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

apache_tvm-0.25.0.post1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (79.5 MB view details)

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

apache_tvm-0.25.0.post1-py3-none-macosx_11_0_arm64.whl (64.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for apache_tvm-0.25.0.post1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8413602d58b83bfef734155d9865d37c6698435ffe584553f1521fcef7b06bbe
MD5 fa8b5cc2f041904347b945631662de21
BLAKE2b-256 094c82ac80101f8050d7e4bd176d10e5dbe45580718bea9e0ee3b99756d3b0e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0.post1-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.0.post1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0.post1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67d1f95d861a93130c4ba1565646fbeb4259b2ab478ea3f2a9d92566488d9530
MD5 d184ffbb9ba0948723b38126aaf7ff50
BLAKE2b-256 65664b7d8c4cd4bdbad3e14885475b58a4a8b8d44239723047b00849d204457c

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0.post1-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.0.post1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0.post1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6471cd7a1fd0803693a07c4c2f0b01f4335fbe7acb3227b5f9dcbc1b1a8aab4b
MD5 133620dd4a904dcbfcdde0e802888da4
BLAKE2b-256 4dd6ecbf160a7d31d5dc62f2d77f83d0cbe394d6715f1ee10ed2ee835d9d3dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0.post1-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.0.post1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0.post1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2212bd9285dc411fd53890f651e77b3da35333f2b1501bb94f6139b616c63df5
MD5 2338928718833e999f583ef225150733
BLAKE2b-256 92cdc87b0cbe83c50b45a3f4ce7c600053b7b569c08d19e2a6717d9a7b0e98b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for apache_tvm-0.25.0.post1-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