{"data":{"slug":"apache-tvm","name":"tvm","tagline":"Open Machine Learning Compiler Framework","github_url":"https://github.com/apache/tvm","owner":"apache","repo":"tvm","owner_avatar_url":"https://avatars.githubusercontent.com/u/47359?v=4","primary_language":"Python","stars":13642,"forks":3939,"topics":["compiler","deep-learning","gpu","javascript","machine-learning","metal","opencl","performance","rocm","spirv","tensor","tvm","vulkan"],"archived":false,"github_pushed_at":"2026-08-03T01:32:46+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/apache-tvm","markdown_url":"https://www.graphcanon.com/tools/apache-tvm.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/apache-tvm","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=apache-tvm","description":"Open Machine Learning Compiler Framework","homepage_url":"https://tvm.apache.org/","license":"Apache-2.0","open_issues":211,"watchers":365,"ai_summary":"Apache TVM is an open machine learning compilation framework designed for Python-first customization and universal deployment.","readme_excerpt":"<img src=https://raw.githubusercontent.com/apache/tvm-site/main/images/logo/tvm-logo-small.png width=128/> Open Machine Learning Compiler Framework\n==============================================\n[Documentation](https://tvm.apache.org/docs) |\n[Contributors](CONTRIBUTORS.md) |\n[Community](https://tvm.apache.org/community) |\n[Release Notes](NEWS.md)\n\nApache TVM is an open machine learning compilation framework,\nfollowing the following principles:\n\n- Python-first development that enables quick customization of machine learning compiler pipelines.\n- Universal deployment to bring models into minimum deployable modules.\n\nLicense\n-------\nTVM is licensed under the [Apache-2.0](LICENSE) license.\n\nGetting Started\n---------------\nCheck out the [TVM Documentation](https://tvm.apache.org/docs/) site for installation instructions, tutorials, examples, and more.\nThe [Getting Started with TVM](https://tvm.apache.org/docs/get_started/overview.html) tutorial is a great\nplace to start.\n\nContribute to TVM\n-----------------\nTVM adopts the Apache committer model. We aim to create an open-source project maintained and owned by the community.\nCheck out the [Contributor Guide](https://tvm.apache.org/docs/contribute/).\n\nHistory and Acknowledgement\n---------------------------\nTVM started as a research project for deep learning compilation.\nThe first version of the project benefited a lot from the following projects:\n\n- [Halide](https://github.com/halide/Halide): Part of TVM's TIR and arithmetic simplification module\n originates from Halide. We also learned and adapted some parts of the lowering pipeline from Halide.\n- [Loopy](https://github.com/inducer/loopy): use of integer set analysis and its loop transformation primitives.\n- [Theano](https://github.com/Theano/Theano): the design inspiration of symbolic scan operator for recurrence.\n\nSince then, the project has gone through several rounds of redesigns.\nThe current design is also drastically different from the initial design, following the\ndevelopment trend of the ML compiler community.\n\nThe most recent version focuses on a cross-level design with TensorIR as the tensor-level representation\nand Relax as the graph-level representation and Python-first transformations.\nThe project's current design goal is to make the ML compiler accessible by enabling most\ntransformations to be customizable in Python and bringing a cross-level representation that can jointly\noptimize computational graphs, tensor programs, and libraries. The project is also a foundation\ninfra for building Python-first vertical compilers for domains, such as LLMs.","github_created_at":"2016-10-12T22:20:28+00:00","created_at":"2026-07-11T23:32:06.358646+00:00","updated_at":"2026-08-04T00:01:51.452177+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"compiler","name":"compiler"},{"slug":"deep-learning","name":"deep-learning"},{"slug":"gpu","name":"gpu"},{"slug":"javascript","name":"javascript"},{"slug":"machine-learning","name":"machine-learning"},{"slug":"metal","name":"metal"},{"slug":"opencl","name":"opencl"},{"slug":"performance","name":"performance"}],"trust":{"provenance":{"is_fork":false,"github_id":70746484,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-04T00:01:50.625Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":4,"days_since_push":0,"last_release_at":"2026-06-19T17:49:46Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T23:32:16.508Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-04T00:01:51.128Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-04T00:01:51.128Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-04T00:01:51.128Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you focus on Python-first customization to quickly prototype and iterate machine learning models and compilers.","If your project requires optimization and deployment across a wide range of hardware, from CPUs and GPUs to specialized accelerators like Vulkan, OpenCL, and ROCm."],"when_not_to_use":["Avoid if your workflow demands an immutable model pipeline; TVM shines in flexibility but might be overkill for static workload scenarios.","For projects that strictly adhere to one hardware platform or API set, as the universal support of TVM could introduce unnecessary complexity."],"source":"enrich:decision_facts","observed_at":"2026-07-17T12:52:00.028Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Apache TVM stands out for its python-driven approach towards ML compilation and universal deployment options."}]}}