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
TVM安装常用问题的更多相关文章
- Kali Linux 2.0配置并安装常用的工具
Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 2.0是基于Debian ...
- webpack 介绍 & 安装 & 常用命令
webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...
- 如何正确的使用Ubuntu以及安装常用的渗透工具集.
文章来源i春秋 入坑Ubuntu半年多了 记得一开始学的时候基本一星期重装三四次=-= 尴尬了 觉得自己差不多可以的时候 就吧Windows10干掉了 c盘装Ubuntu 专心学习. 这里主要来 ...
- linux centos7 安装常用软件java,node,mysql,Seafile
linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...
- win10创建Ubuntu16.04子系统,安装常用软件以及图形界面(包括win10远程桌面连接Ubuntu)
一.开启win10子系统 [ Windows Subsystem for Linux(WSL)] 二.基本配置 三.安装常用的软件 安装配置zsh 使用 bash 客户端软件 cmder(其实是win ...
- Deepin安装常用软件
Deepin安装常用软件 安装git sudo apt-get install git sudo是Debian系列以管理员运行的前缀 卸载软件 sudo apt-get remove package_ ...
- linux安装常用软件和查询基本信息
linux安装常用软件和查询基本信息 1. 安装常用软件 [ ...
- 基于Docker安装常用软件
基于Docker安装常用软件 本实验介绍如何基于Docker安装常用的软件,具体包括: Ubuntu Cetnos Nginx Node.js PHP MySQL Tomcat Redis Mongo ...
- WDCP安装常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的方法
为有更好的性能,也为更简洁的系统,一些不是常用或不是基本的功能,都将做为可选的安装组件需要用到的就安装 注意:如果安装时遇到 ./configure: Permission denied提示,很有可能 ...
随机推荐
- 【Scrapy(一)】 Scrapy爬虫的基础执行流程
安装scrapy模块 : pip install scrapy 创建scrapy项目 1.scrapy startprojecty 项目名称 注意:如果创建失败,可以先卸载原有的scrapy模块, ...
- metasploit console 命令解释
折腾几天,总算是在虚拟机中安装好了4.2版本的metasploit,能够成功打开console,这里将metasploit console的指令用中文翻一下: 原文及翻译: back Move bac ...
- MySQL数据迁移那些事儿
前言: 在平时工作中,经常会遇到数据迁移的需求,比如要迁移某个表.某个库或某个实例.根据不同的需求可能要采取不同的迁移方案,数据迁移过程中也可能会遇到各种大小问题.本篇文章,我们一起来看下 MySQL ...
- Nios II系统在Quartus II编译后Timing requirements for slow timing model timing analysis were not met. See Report window for details
来自http://wenku.baidu.com/link?url=h0Z_KvXD3vRAn9H8mjfbVErVOF_Kd3h-BZSyF1r4sEYj3ydJGEfBHGY1mvntP4HDuF ...
- Visual Lab Online —— Alpha版本发布声明
Visual Lab Online -- Alpha版本发布声明 项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:Alpha阶段发布声明 发布声明 目录 Visual Lab Onli ...
- js取随机数看这里
取0~10的随机数 Math.Random()*10 ; 取1~10的随机数 Math.Random()*9 + 1 ; 取0~10的随机整数(十一个数字) Math.floor( Math.Rand ...
- NPM包管理器入门(附加cnpm : 无法加载文件错误解决方案)
NPM 包管理器 1.作用: 快速构建nodejs工程 快速安装和依赖第三个模块 2.使用方法 快速构建 npm init 会得到一package.json文件 { "name": ...
- [bug] ERROR: Can't get master address from ZooKeeper; znode data == null
排错 访问bigdata111:50070没显示 jps发现hdfs的namenode没启动 查看namenode日志发现9000端口被占用 查找占用端口的进程 杀死进程,或在配置文件中更改端口号 参 ...
- [c++] 模板、迭代器、泛型
模板 函数模板:重载的进一步抽象,只需定义一个函数体即可用于所有类型 在C++中,数据的类型也可以通过参数来传递,在函数定义时可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的实参自动推 ...
- SystemVerilog 编写FSM
SystemVerilog 编写FSM 题目 SystemVerilog实现 仿真 SystemVerilog 编写FSM 好书: https://github.com/yllinux/blogPic ...