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

Uploaded Python 3Windows x86-64

apache_tvm-0.25.0rc1-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.0rc1-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.0rc1-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.0rc1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dd9f4a96329594482e1dc0937debd90647d4c0fdf815ac4c51a95f8bf88e072f
MD5 286194cea7eb17689864c269bade8cb1
BLAKE2b-256 b87a17b86e591948ac9b54eb712aa88e4386398ee9b0e89f8e2e36423c8aabfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eedb640c0089c3aab6f70e9f63f31f49f79b91e763493c6663fd9d4899279930
MD5 e1dd68fb410139001757f025028d15d7
BLAKE2b-256 99793e6c483877e3cc4b85e1e09750df60a5d8a049b556e0a9184570c899eff1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 803520abf44912673c57403a8245856a09627aeee230431099bab70cb1d86844
MD5 6573d638e1da521b1eda70761c767544
BLAKE2b-256 0962d84ed1584702214d3e3f3e5963b616ce82bf78f89d84ba30ac459084f905

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for apache_tvm-0.25.0rc1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a16e4e2c78d3a23e3b21b939b72deda93822d76b81e8739285045d60c3ef86b
MD5 35892e72965fc4482e9c58500476c820
BLAKE2b-256 45cb60614e99db5d3ca9457d1477277d79528e6643c01354db1b952e0ebb5abe

See more details on using hashes here.

Provenance

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