美文网首页
tvm原理入门及FAQ

tvm原理入门及FAQ

作者: peteyuan | 来源:发表于2018-10-26 16:03 被阅读237次

官方的矩阵相加的示例如下:

2个矩阵相加的实现

for (int i = 0; i < n; ++i) {
  C[i] = A[i] + B[i];
}

怎么优化? 可以并行相加,如下

for (int bx = 0; bx < ceil(n / 64); ++bx) {
  for (int tx = 0; tx < 64; ++tx) {
    int i = bx * 64 + tx;
    if (i < n) {
      C[i] = A[i] + B[i];
    }
  }
}

其实,就是把循环继续拆,一个循环拆成2个循环。

https://docs.tvm.ai/faq.html

TVM和其他框架比如NNVM、XLA的区别?

在tvm看来,nnvm和xla都是计算图级别的优化,属于high level优化,注意做的是内存复用、布局转换和自动微分。

而tvm采用的是一种low level的表示,进行的是内存布局、并行模式、局部性和硬件原语等优化。

TVM和libDNN、cuDNN关系?

tvm会去调用这些库,与这些库共存。

nnvm tensor operator

https://docs.tvm.ai/nnvm_top.html

分5个级别的op:

  • level 1: 基础op(34个)
  • level 2: 卷积op(6个)
  • level 3: 其他tensor op(19个)
  • level 4: 广播和约简op(39个)
  • level 5: 视觉op(5个)

相关文章

  • tvm原理入门及FAQ

    官方的矩阵相加的示例如下: 2个矩阵相加的实现 怎么优化? 可以并行相加,如下 其实,就是把循环继续拆,一个循环拆...

  • tvm安装及官方入门示例

    官方文档: https://docs.tvm.ai/index.html 安装,从源码安装下载代码: 在docke...

  • Rosetta入门必读FAQ

    本文将以FAQ的形式来迅速浏览常见的Rosetta入门最主要最关心的问题。补充阅读材料-官方FAQ: https:...

  • Nginx

    Nginx 入门简述 工作原理及安装配置 常用命令管理及升级 入门简述 Nginx("engine x")是一个高...

  • 【TVM系列二】TVM介绍

    一、TVM的工作流程 TVM主要由两个部分组成: (1)TVM编译器:负责编译和优化模型 (2)TVM runti...

  • ACL 应用速记

    ACL 入门 acl库使用FAQ[https://blog.csdn.net/zsxxsz/article/det...

  • XGboost 基线模型及部分参数优化

    1 模型原理及调参参考 调参:XGBoost参数调优完全指南原理:xgboost入门与实战(原理篇) 2 输出基线...

  • 【TVM系列六】PackedFunc原理

    一、前言 在TVM中,PackedFunc贯穿了整个Stack,是Python与C++进行互相调用的桥梁,深入理解...

  • SpringBoot入门及原理

    SpringBoot的诞生 什么是Spring? 现代化的java开发主要就是面向Spring开发。Spring是...

  • TVM内的Container(数据容器)学习

    Container所在文件:tvm/runtime/container.h tvm自定义的container有: ...

网友评论

      本文标题:tvm原理入门及FAQ

      本文链接:https://www.haomeiwen.com/subject/qixltqtx.html