Hidet:一个开源深度学习编译器
Hidet是一个用Python编写的开源深度学习编译器。 它支持将PyTorch和ONNX的DNN模型端到端编译为高效的CUDA内核。 通过应用一系列图级和算子级优化来提高性能。
目前,Hidet专注于优化NVIDIA GPU上的推理工作负载,并且需要:
- Linux操作系统
- CUDA Toolkit 11.6+
- Python 3.8+
入门指南
安装
pip install hidet
使用
通过Hidet优化PyTorch模型(需要PyTorch 2.0):
import torch
# 定义PyTorch模型
model = torch.hub.load('pytorch/vision:v0.6.0', 'resnet18', pretrained=True).cuda().eval()
x = torch.rand(1, 3, 224, 224).cuda()
# 通过Hidet编译模型
# 可选:设置优化选项(更多详情请参阅我们的文档)
# import hidet
# hidet.torch.dynamo_config.search_space(2) # 优化每个可调优算子
model_opt = torch.compile(model, backend='hidet')
# 运行优化后的模型
y = model_opt(x)
查看以下教程了解其他用法:
发表论文
Hidet源于以下研究工作:
Hidet: 深度学习张量程序的任务映射编程范式
Yaoyao Ding, Cody Hao Yu, Bojian Zheng, Yizhi Liu, Yida Wang, 和 Gennady Pekhimenko.
ASPLOS '23
如果您在研究中使用了Hidet,欢迎引用我们的论文。
开发
Hidet目前正由CentML Inc的一个团队积极开发中。
贡献
我们欢迎社区的贡献。请查看贡献指南了解更多详情。
许可证
Hidet采用Apache 2.0许可证发布。