美文网首页
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

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