tvm README

The project's README from github.com/apache/tvm. As one markdown file: README.md.

Open Machine Learning Compiler Framework

Documentation | Contributors | Community | Release Notes

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

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:

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.

tvm (apache/tvm)

Searching Database…

13.8K ·GitHub
Что это такое?Apache TVM — это открытый фреймворк-компилятор для машинного обучения, который превращает обученные модели в оптимизированный код, готовый к развёртыванию на широком спектре аппаратных платформ.
TVM — это разовый инструмент или фреймворк, на основе которого я строю конвейеры компиляции?Это фреймворк-компилятор, ориентированный в первую очередь на Python, а не отдельная CLI-утилита: вы настраиваете и собираете собственный конвейер компиляции ML-моделей на Python. Он также может служить основой для создания предметно-ориентированных «вертикальных компиляторов», например для LLM.
Как начать работу с TVM?Начните с официального сайта документации TVM, там есть инструкции по установке, учебные материалы и примеры, включая отдельное руководство 'Getting Started with TVM'.
Нужно ли знать Python, чтобы пользоваться TVM?Да: TVM изначально спроектирован под Python, поэтому большую часть настройки конвейера компиляции можно выполнять на Python, не требуя глубокого знания внутреннего устройства на C++.
На какие аппаратные платформы ориентирован TVM?TVM создан для универсального развёртывания и поддерживает множество бэкендов, включая GPU-решения Metal, OpenCL, ROCm, Vulkan/SPIRV и CUDA, а также обычные CPU.
Что такое TensorIR и Relax?TensorIR — это тензорное промежуточное представление TVM для описания и оптимизации низкоуровневых программ, а Relax — промежуточное представление на уровне графов. Вместе они позволяют TVM совместно оптимизировать вычислительные графы, тензорные программы и библиотеки, и всё это на Python.
Откуда взялась архитектура TVM?TVM начинался как исследовательский проект по компиляции моделей глубокого обучения. Он заимствовал идеи из Halide (понижение уровня циклов и упрощение арифметики), из Loopy (анализ циклов на основе целочисленных множеств) и из Theano (символьный дизайн scan), а затем превратился в свою нынешнюю межуровневую архитектуру.
Полезен ли TVM только для классических моделей глубокого обучения?Нет. Помимо стандартных моделей DL, проект позиционирует себя как основу для создания ориентированных на Python вертикальных компиляторов для других областей, и прямо называет LLM в качестве целевого сценария использования.
What are similar projects?mlc-llm, burn, pytorch, qxotic, MNN, DeepGEMM, lectures, tilelang
Creator
apache
Size
161.3 MB
Stars
13.8K
Age
10y
Commits · 90 Days