Skip to main content

TVM: An End to End Tensor IR/DSL Stack for Deep Learning Systems

Project description

Open Deep Learning Compiler Stack

Documentation | Contributors | Community | Release Notes

Apache TVM is a compiler stack for deep learning systems. It is designed to close the gap between the productivity-focused deep learning frameworks and the performance- and efficiency-focused hardware backends. TVM works with deep learning frameworks to provide end-to-end compilation for different backends.

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.

xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-macosx_14_0_arm64.whl (41.4 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-macosx_14_0_arm64.whl (41.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-macosx_14_0_arm64.whl (41.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-macosx_14_0_arm64.whl (41.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (42.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-macosx_14_0_arm64.whl (41.4 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ce5ae0679e609f9ad7357c44d91caa3e3178c1a2deff5344595ca261a3a3f3da
MD5 93263885dc87a315ea9a1a02b564cff7
BLAKE2b-256 525aa11287bb028fa8e1f5fc535b53105e916e720faa7d3bcb2f3c5129f28def

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d835adca57ddf1c3c25253865050e320ec46cf72979533bf33f743dc0acbaeb7
MD5 d0fc9db4d9b16fcd24ff520b492128f9
BLAKE2b-256 cba84d8e323f29439be7b547a63ca723163eb4dd44b8af9d2949880f268a5aa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b6d5a313f38e7f5a6e86ce842ef9bf1794431c50aad1925bf385cee6b4381d2
MD5 d821cddfc26c345cfac82e7bdb03f485
BLAKE2b-256 e6e9fcc17d5ae695025c8adaef973c2d2b0874344c11f9c88f693c6609610fba

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0aab18194ffe2db032fc7a1029ec35aaf8821bbf624df5cc7a754c7990806742
MD5 43f5d7a78a59eab8925476b441fcd5fa
BLAKE2b-256 23e45878351a841638ca0b63d404d79385c43c804790bda7d507bdeeac0ea164

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 485357adc8d2a09583266944b6b165cb6d1bb13963f07154a387b47117a9a0fc
MD5 ff1d1d7ba28d868d8ff3df4a8727566a
BLAKE2b-256 7f5c26703f3bccfe3b41e0437ecdef9b8bf66cc92d963e06720d28e909eab0ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2be92ac259df7acb65561f4de68bdecebe4d273ee61a4b33030e12166687b17a
MD5 492eecf7d302e7bd5d61f05c4ae5c68a
BLAKE2b-256 1a91f11673fd7e8080d2a57bcfaf7535f207482fa7503141deb13cbd2f35fac5

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 557c607a2a0e1d625845b5449cde2cbfcb06173edf66cf555e18db863c9690c5
MD5 8442e9a2145708a0414543b0bb7cdb1f
BLAKE2b-256 962f81fad3d3e0e4a54344c3b763235381943ad8360f696c97637e55ba70b707

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2c608f9baf8bf0f137fba4280546b34018ecccd8e78aeb3b6ad3a8bbd8bb20fd
MD5 329a4e8c8f12caaf926f4c7c69b1b42a
BLAKE2b-256 d618ef0cc9f3ff05fe276839738292dd119aafafd175e6482ea15228f091b478

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34e79c260d48f78c61a218b714e80bd5c263989637034fc00ecf7712bfd92d05
MD5 fdd90bfe32e30c4cf62f8111c090a59f
BLAKE2b-256 5a6dc9d14e666bfd0e4b41591ebd1f5fa9f6172ca893f657fdf71cd81bc8e5e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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

File details

Details for the file xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 58a386a20d6507c97f678a82d846e1b64c7b8cb84c108034b5f5ec00de4ccea2
MD5 435cccc1f895e25a445eac2c2c63315d
BLAKE2b-256 14d83d340a50e3c8a52bef72cbf2118c3a12f9f6fe05c2e22a934b7221eb254b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xtc_tvm_python_bindings-0.21.0.5-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: xtc-tvm-wheels.yml on xtc-tools/xtc-tvm-wheels

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