TVM使用张量表达式与运算符一起使用

在本教程中,我们将注意力转向TVM如何与Tensor Expressions(TE)一起使用,以创建一个空间来搜索性能配置。TE用纯函数语言描述张量计算(也就是说,每个表达式都没有副作用)。从整个TVM的角度来看,Relay将计算描述为一组运算符,并且这些运算符中的每一个都可以表示为一个TE表达式,其中每个TE表达式都采用输入张量并产生输出张量。重要的是要注意,张量不一定是完全物化的数组,而是表示计算的形式。如果要从TE生成计算,则需要使用TVM的调度功能。

这是TVM中Tensor表达语言的入门教程。TVM使用特定于域的张量表达式来进行有效的内核构建。我们将通过使用张量表达语言的两个示例来演示基本工作流程。第一个示例介绍了TE和带有矢量加法的调度。第二部分通过逐步优化TE的矩阵乘法来扩展这些概念。此矩阵乘法示例将作为将来涵盖TVM更高级功能的教程的比较基础。

示例1:在TE for CPU中编写和计划向量加法

让我们看一下Python中的示例,在该示例中,我们将实现TE用于矢量加法,然后执行针对CPU的调度。我们首先初始化TVM环境。

import tvm
import tvm.testing
from tvm import te
import numpy as np

#如果可以确定要定位的CPU并指定它,将会获得更好的性能,如果您使用的是llvm,
# 则可以从命令``llc --version``获取CPU类型,
# 您可以检查``/ proc / cpuinfo``用于您的处理器可能的其他扩展支持。 
# 例如,``tgt =“ llvm -mcpu =`skylake`

tgt=tvm.target.Tar
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yhwang-hub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值