# Hidet: An Open-Source Deep Learning Compiler
[**Documentation**](http://docs.hidet.org/) |
[**Research Paper**](https://dl.acm.org/doi/10.1145/3575693.3575702) |
[**Releases**](https://github.com/hidet-org/hidet/releases) |
[**Contributing**](https://docs.hidet.org/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.8+
## Getting Started
### Installation
```bash
pip install hidet
```
You can also try the [nightly build version](https://docs.hidet.org/stable/getting-started/install.html) or [build from source](https://docs.hidet.org/stable/getting-started/build-from-source.html#).
### Usage
Optimize a PyTorch model through hidet (require PyTorch 2.0):
```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://docs.hidet.org/stable/gallery/getting-started/quick-start.html)
- [Optimize PyTorch models](http://docs.hidet.org/stable/gallery/tutorials/optimize-pytorch-model.html)
- [Optimize ONNX models](http://docs.hidet.org/stable/gallery/tutorials/optimize-onnx-model.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://docs.hidet.org/stable/developer-guides/contributing.html)
for more details.
## License
Hidet is released under the [Apache 2.0 license](LICENSE).
Raw data
{
"_id": null,
"home_page": "https://docs.hidet.org",
"name": "hidet",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "deep learning, machine learning, neural network, inference, compiler",
"author": null,
"author_email": null,
"download_url": null,
"platform": "linux",
"description": "# Hidet: An Open-Source Deep Learning Compiler\n[**Documentation**](http://docs.hidet.org/) |\n[**Research Paper**](https://dl.acm.org/doi/10.1145/3575693.3575702) |\n[**Releases**](https://github.com/hidet-org/hidet/releases) |\n[**Contributing**](https://docs.hidet.org/stable/developer-guides/contributing.html)\n\n![GitHub](https://img.shields.io/github/license/hidet-org/hidet)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/hidet-org/hidet/tests.yaml)\n\n\nHidet is an open-source deep learning compiler, written in Python. \nIt supports end-to-end compilation of DNN models from PyTorch and ONNX to efficient cuda kernels.\nA series of graph-level and operator-level optimizations are applied to optimize the performance.\n\nCurrently, hidet focuses on optimizing the inference workloads on NVIDIA GPUs, and requires\n- Linux OS\n- CUDA Toolkit 11.6+\n- Python 3.8+\n\n## Getting Started\n\n### Installation\n```bash\npip install hidet\n```\nYou can also try the [nightly build version](https://docs.hidet.org/stable/getting-started/install.html) or [build from source](https://docs.hidet.org/stable/getting-started/build-from-source.html#).\n\n### Usage\n\nOptimize a PyTorch model through hidet (require PyTorch 2.0):\n```python\nimport torch\n\n# Define pytorch model\nmodel = torch.hub.load('pytorch/vision:v0.6.0', 'resnet18', pretrained=True).cuda().eval()\nx = torch.rand(1, 3, 224, 224).cuda()\n\n# Compile the model through Hidet\n# Optional: set optimization options (see our documentation for more details)\n# import hidet \n# hidet.torch.dynamo_config.search_space(2) # tune each tunable operator\nmodel_opt = torch.compile(model, backend='hidet') \n\n# Run the optimized model\ny = model_opt(x)\n```\nSee the following tutorials to learn other usages:\n- [Quick Start](http://docs.hidet.org/stable/gallery/getting-started/quick-start.html)\n- [Optimize PyTorch models](http://docs.hidet.org/stable/gallery/tutorials/optimize-pytorch-model.html)\n- [Optimize ONNX models](http://docs.hidet.org/stable/gallery/tutorials/optimize-onnx-model.html)\n\n## Publication\nHidet originates from the following research work:\n\n> **Hidet: Task-Mapping Programming Paradigm for Deep Learning Tensor Programs** \n> Yaoyao Ding, Cody Hao Yu, Bojian Zheng, Yizhi Liu, Yida Wang, and Gennady Pekhimenko. \n> ASPLOS '23\n\nIf you used **Hidet** in your research, welcome to cite our\n[paper](https://dl.acm.org/doi/10.1145/3575693.3575702).\n\n## Development \nHidet is currently under active development by a team at [CentML Inc](https://centml.ai/). \n\n## Contributing\nWe welcome contributions from the community. Please see \n[contribution guide](https://docs.hidet.org/stable/developer-guides/contributing.html)\nfor more details.\n\n## License\nHidet is released under the [Apache 2.0 license](LICENSE).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Hidet: a compilation-based DNN inference framework.",
"version": "0.4.1",
"project_urls": {
"Homepage": "https://docs.hidet.org"
},
"split_keywords": [
"deep learning",
" machine learning",
" neural network",
" inference",
" compiler"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "958306d9153d5f17ff4e30c209a7a65e7a1457ce62799011844564ad988fa19d",
"md5": "5d87c90927f48c2a3f8247c3012fef7c",
"sha256": "50fefaa14f49cc258b572af6d9afff2702ee1ce42840ac613461233edf412fa1"
},
"downloads": -1,
"filename": "hidet-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5d87c90927f48c2a3f8247c3012fef7c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1255842,
"upload_time": "2024-07-30T03:50:43",
"upload_time_iso_8601": "2024-07-30T03:50:43.405830Z",
"url": "https://files.pythonhosted.org/packages/95/83/06d9153d5f17ff4e30c209a7a65e7a1457ce62799011844564ad988fa19d/hidet-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-30 03:50:43",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "hidet"
}