Metadata-Version: 2.4
Name: hidet
Version: 0.6.0
Summary: Hidet: a compilation-based DNN inference framework.
Author: CentML Inc.
License: Apache-2.0
Project-URL: Homepage, https://github.com/hidet-org/hidet
Project-URL: Documentation, https://hidet.org
Keywords: Deep Learning,Machine Learning,Neural Network,Inference,Compiler
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.23
Requires-Dist: psutil
Requires-Dist: tabulate
Requires-Dist: tqdm
Requires-Dist: nvtx
Requires-Dist: click
Requires-Dist: packaging
Requires-Dist: requests
Requires-Dist: filelock
Requires-Dist: cuda-python>=11.6.1
Requires-Dist: hip-python-fork
Requires-Dist: lark
Requires-Dist: tomlkit
Requires-Dist: scipy
Requires-Dist: gitpython
Requires-Dist: importlib_metadata
Requires-Dist: torch>=2.3.0
Requires-Dist: networkx
Provides-Extra: dev
Requires-Dist: pytest==7.2; extra == "dev"
Requires-Dist: black==25.1.0; extra == "dev"
Requires-Dist: pylint==2.13.9; extra == "dev"
Requires-Dist: onnx; extra == "dev"
Requires-Dist: onnxruntime-gpu; extra == "dev"
Requires-Dist: torch>=2.3.0; extra == "dev"
Requires-Dist: torchvision; extra == "dev"
Requires-Dist: torchaudio; extra == "dev"
Requires-Dist: datasets; extra == "dev"
Requires-Dist: diffusers; extra == "dev"
Requires-Dist: transformers; extra == "dev"
Requires-Dist: sentencepiece; extra == "dev"
Requires-Dist: sacremoses; extra == "dev"
Requires-Dist: pygraphviz; extra == "dev"

# Hidet: An Open-Source Deep Learning Compiler
[**Documentation**](http://hidet.org/docs)  |
[**Research Paper**](https://dl.acm.org/doi/10.1145/3575693.3575702)  |
[**Releases**](https://github.com/hidet-org/hidet/releases) |
[**Contributing**](https://hidet.org/docs/stable/developer-guides/contributing.html)

![GitHub](https://img.shields.io/github/license/hidet-org/hidet)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/hidet-org/hidet/tests.yaml)


Hidet is an open-source deep learning compiler, written in Python. 
It supports end-to-end compilation of DNN models from PyTorch and ONNX to efficient cuda kernels.
A series of graph-level and operator-level optimizations are applied to optimize the performance.

Currently, hidet focuses on optimizing the inference workloads on NVIDIA GPUs, and requires
- Linux OS
- CUDA Toolkit 11.6+
- Python 3.9+

## Getting Started

### Installation
Please install hidet via
```bash
pip install hidet
```

You can also install hidet via [building from source](https://docs.hidet.org/stable/getting-started/build-from-source.html#).

### Usage

Optimize a PyTorch model through hidet (require PyTorch 2.3):
```python
import torch

# Define pytorch model
model = torch.hub.load('pytorch/vision:v0.6.0', 'resnet18', pretrained=True).cuda().eval()
x = torch.rand(1, 3, 224, 224).cuda()

# Compile the model through Hidet
# Optional: set optimization options (see our documentation for more details)
#   import hidet 
#   hidet.torch.dynamo_config.search_space(2)  # tune each tunable operator
model_opt = torch.compile(model, backend='hidet')  

# Run the optimized model
y = model_opt(x)
```
See the following tutorials to learn other usages:
- [Quick Start](http://hidet.org/docs/stable/gallery/getting-started/quick-start.html)

## Publication
Hidet originates from the following research work:

>  **Hidet: Task-Mapping Programming Paradigm for Deep Learning Tensor Programs**  
>  Yaoyao Ding, Cody Hao Yu, Bojian Zheng, Yizhi Liu, Yida Wang, and Gennady Pekhimenko.  
>  ASPLOS '23

If you used **Hidet** in your research, welcome to cite our
[paper](https://dl.acm.org/doi/10.1145/3575693.3575702).

## Development 
Hidet is currently under active development by a team at [CentML Inc](https://centml.ai/). 

## Contributing
We welcome contributions from the community. Please see 
[contribution guide](https://hidet.org/docs/stable/developer-guides/contributing.html)
for more details.

## License
Hidet is released under the [Apache 2.0 license](LICENSE).
