TVM安装常用问题
TVM安装常用问题
如何添加新的硬件后端
- 如果硬件后端支持LLVM,则可以通过设置正确的目标三元组来直接生成代码target。
- 如果目标硬件是GPU,请尝试使用cuda,opencl或vulkan后端。
- 如果目标硬件是特殊的加速器,请checkout VTA:深度学习加速器堆栈,并将代码生成到TVM。
- 对于上述所有情况,使用AutoTVM添加特定于目标的优化模板,请参见AutoTVM:基于模板的自动调整AutoTVM : Template-based Auto Tuning。
- 除了使用LLVM的向量化之外,还可以嵌入微内核micro-kernels,以利用硬件内在函数,请参阅使用张量化,以利用硬件内在函数。
TVM与其他IR / DSL项目的关系
在深度学习系统中,IR通常有两个抽象层次。TensorFlow的XLA和Intel的ngraph都使用计算图表示。这种表示形式是高级的,并且有助于执行通用优化,例如内存重用,布局转换和自动微分。
TVM采用低级表示,可明确表示内存布局,并行化模式,局部性和硬件基元等的选择。此IR级别更接近直接针对目标硬件。低级IR采用了来自现有图像处理语言(例如Halide),暗室darkroom和循环转换工具(例如基于loopy和基于多面体的分析)的思想。特别专注于表达深度学习工作负载(例如,递归),针对不同硬件后端的优化以及嵌入框架以提供端到端编译堆栈。
TVM与libDNN,cuDNN的关系
TVM可以将这些库合并为外部调用。TVM的目标之一是能够生成高性能内核。当从人工内核技术中学习,逐步将它们添加为DSL中的原语,逐步发展TVM。另请参阅前面内容以了解TVM中算子的配置。
https://tvm.apache.org/docs/faq.html
人工智能芯片与自动驾驶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)