TVM
文章平均质量分 84
HyperAI超神经
链接人工智能新场景
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
「TVM教程」创建 Relax
本教程演示了如何使用 TVMScript、NNModule API、Block Builder API 以及 PackedFunc API,根据不同的应用场景来创建 Relax 程序。原创 2026-09-15 20:23:44 · 73 阅读 · 0 评论 -
「TVM教程」理解 Relax 抽象层
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。在线运行 TVM 学习教程→Relax 是 Apache TVM Unity 策略中使用的一种图抽象方式,用于对机器学习模型进行端到端的优化。Relax 的主要目标是描述机器学习模型的结构与数据流,包括模型不同部分之间的依赖关系与连接方式,以及如何在硬件上执行该模型。wp:heading。原创 2026-08-27 20:40:20 · 215 阅读 · 0 评论 -
「TVM教程」面向机器学习模型的图抽象
图抽象是将机器学习模型表示为有向图的过程,其中节点代表计算操作(例如矩阵乘法、卷积),边表示操作之间的数据流。这种抽象方式使编译器能够分析模型中不同部分之间的依赖关系与联系。原创 2026-08-16 18:51:35 · 189 阅读 · 0 评论 -
【TVM教程】转换
我们也可以定义自己的 Pass。例如,我们可以将程序中的relu操作符重写为gelu操作符。首先,我们需要编写一个 Relax IR Mutator 来执行这个替换操作。wp:code@mutator# 访问 relax.Call 表达式,并且只处理当操作(op)是 relax.nn.relu 的情况。/wp:code然后我们可以编写一个 Pass,将这个 Mutator 应用于整个模块。wp:codemod.show()/wp:code输出:wp:codereturn gv。原创 2026-08-04 16:58:50 · 255 阅读 · 0 评论 -
【TVM教程】创建 Relax
本教程演示了如何使用 TVMScript、NNModule API、Block Builder API 以及 PackedFunc API,根据不同的应用场景来创建 Relax 程序(可右键另存为下载)。原创 2026-07-28 14:40:55 · 297 阅读 · 0 评论 -
【TVM教程】理解 Relax 抽象层
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2026-04-07 10:46:11 · 425 阅读 · 0 评论 -
【TVM教程】面向机器学习模型的图抽象
TVM 0.21.0版本已发布,中文文档同步更新。TVM是一个深度学习编译框架,支持多种硬件平台。文章重点介绍了机器学习编译中的图抽象技术,即将模型表示为有向图(节点为计算操作,边为数据流),以及Relax IR的关键特性:支持符号形状、多层次抽象和可组合变换。这些特性使TVM能够进行跨层次优化,提升模型性能。教程提供了在线学习链接和示例代码,展示如何用Relax IR表示简单神经网络。原创 2026-04-01 12:48:43 · 284 阅读 · 0 评论 -
【TVM教程】Relax
TVM 0.21.0版本已发布,中文文档同步更新。TVM是一个深度学习编译框架,支持多种硬件平台。Relax是TVM中的高级抽象层,用于图优化和转换,常与TensorIR结合使用。文档提供了Relax的核心概念、创建方法和优化转换指南,包括图抽象、TVMScript编程、NNModule API等。可通过在线教程学习TVM使用。 (字数:150字)原创 2026-03-24 14:32:18 · 64 阅读 · 0 评论 -
【TVM教程】转换
TVM 0.21.0版本更新后,文档展示了如何使用TensorIR优化矩阵乘法ReLU函数(mm_relu)。通过TVM Schedule API实现了循环分块和重排序等转换技术,将原始实现(2.7253ms)进行性能优化。文章详细演示了获取循环引用、拆分循环因子(j分j0,j1)、重排序循环(j0,k,j1)等关键步骤,并提供了转换前后的代码对比和性能评估方法。这些优化技术适用于CPU、GPU及各类AI加速芯片,是深度学习编译框架的核心功能。原创 2026-03-18 16:57:33 · 223 阅读 · 0 评论 -
【TVM教程】TensorIR 创建
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2026-03-09 09:53:45 · 384 阅读 · 0 评论 -
【TVM教程】理解 TensorIR 抽象
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2026-03-02 13:27:04 · 642 阅读 · 0 评论 -
【TVM教程】张量程序抽象
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。在线运行 TVM 学习教程→https://go.hyper.ai/PEh1Q在深入了解 TensorIR 之前,我们先介绍什么是原始张量函数(primitive tensor function)。原始张量函数指的是代表单个「计算单元」的函数。原创 2026-02-25 15:50:07 · 317 阅读 · 0 评论 -
【TVM教程】TensorIR
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2026-02-09 11:13:08 · 251 阅读 · 0 评论 -
【TVM教程】设备/目标交互
Target对象是有关物理设备、其硬件/驱动限制和能力的属性查询表。Target可在优化阶段和代码生成阶段使用。虽然所有运行时共享相同的Target类,但不同运行时可能需要额外的 target 特定属性。在中使用注册新的 target,需传入 target 名称,以及对应运行设备的或。通常情况下,target 名称和设备名称一致(如"cuda"运行于kDLCUDA),但也有例外(例如"llvm"与"c"目标都运行于kDLCPU所有 target 选项通过添加,可带默认值。可以使用。原创 2026-02-02 11:46:06 · 526 阅读 · 0 评论 -
【TVM教程】Pass 基础设施
系统重点关注可扩展性,使用户能快速添加新传递而不破坏兼容性。其结构包括后端与前端:后端实现核心逻辑,前端则提供简单的 API 供用户创建与控制优化流程。原创 2026-01-27 11:15:52 · 631 阅读 · 0 评论 -
【TVM教程】模块序列化指南
TVM 现已更新到 0.21.0 版本,已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/在部署 TVM 运行时模块时,无论目标是 CPU 还是 GPU,TVM。实现这一点的关键就在于。本文将介绍 TVM 模块序列化的格式标准与实现细节。原创 2026-01-20 11:48:09 · 627 阅读 · 0 评论 -
【TVM教程】Vulkan 运行时
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2026-01-14 10:35:25 · 608 阅读 · 0 评论 -
【TVM教程】TVM 运行时系统
TVM 现已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →Apache TVM原创 2026-01-05 21:34:22 · 1019 阅读 · 0 评论 -
【TVM教程】设计与架构
IRModule:包含 relay.Function 和 tir.PrimFuncruntime.Module:包含 runtime.PackedFunc编译基本是在进行关键数据结构之间的转换。relay/transform 和 tir/transform 是确定性的基于规则的转换meta-schedule 则包含基于搜索的转换最后,编译流程示例只是 TVM 堆栈的一个典型用例。将这些关键数据结构和转换提供给 Python 和 C++ API。原创 2025-12-29 18:35:19 · 1245 阅读 · 0 评论 -
【TVM 教程】处理 TVM 错误
恭喜!你找到了这篇文档。下面是一些关于如何理解这些错误信息以及遇到错误时可以采取哪些措施的提示。原创 2025-12-26 18:38:42 · 477 阅读 · 0 评论 -
【TVM 教程】设置 RPC 系统
远程过程调用(RPC)是 Apache TVM 中非常重要和有用的功能,它允许我们在真实硬件上运行已编译好的神经网络(NN)模型,无需手动操作远程设备,输出结果会通过网络自动返回。通过省去一些人工操作,比如将输入数据转储到文件、将导出的神经网络模型拷贝到远程设备、设置设备用户环境、将输出结果拷贝回主机开发环境,RPC 极大地提升了开发效率。此外,由于只有已编译神经网络模型的执行部分运行在远程设备上,所有其他部分都运行在主机开发环境中,因此可以使用任何 Python 包来完成预处理和后处理工作。原创 2025-12-17 17:14:45 · 485 阅读 · 0 评论 -
【TVM 教程】Python 目标参数化
对于任何支持的开发环境,TVM 都应该生成数值正确的结果。因此,在编写验证数值输出的单元测试时,这些单元测试应在所有受支持的开发环境上执行。由于这是一个非常常见的使用场景,TVM 提供了辅助函数来参数化单元测试,使它们可以在所有已启用且具有兼容设备的目标上运行。测试套件中的一个 Python 函数可以展开成多个参数化的单元测试,每个测试针对一个单一的目标设备。测试必须存在于已传递给 pytest 的文件或目录中。原创 2025-12-17 17:01:33 · 476 阅读 · 0 评论 -
【TVM 教程】交叉编译与 RPC
在远程设备上设置 RPC 服务器;在本地设置目标设备的交叉编译配置;通过 RPC API 上传并远程运行内核程序。可右键另存为下载。原创 2025-12-17 16:37:37 · 688 阅读 · 0 评论 -
【TVM 教程】优化大语言模型
我们定义了一系列用于优化模型的传递过程(pass)。这个优化流程是专门为大语言模型(LLMs)设计的。):# 第一阶段:针对高层操作图的优化# 可以启用 cublas以进一步优化# 第二阶段:向 TIR(张量中间表示)下沉,继承 TVM Relax 的官方 "zero" 流程# 第三阶段:对 TIR 进行优化# 第四阶段:底层优化),# 第五阶段:转换为虚拟机字节码return mod。原创 2025-11-21 19:13:13 · 1031 阅读 · 0 评论 -
【TVM 教程】自定义优化
TVM 先已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →Apache TVM 的一个主要设计目标是便于自定义优化流程,无论是用于科研探索还是工程开发,都可以灵活迭代优化过程。原创 2025-10-29 22:35:15 · 516 阅读 · 0 评论 -
【TVM 教程】端到端优化模型
TVM 先已更新到 0.21.0 版本,TVM 中文文档已经和新版本对齐。Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →本教程演示了如何使用 Apache TVM 对机器学习模型进行优化。我们将使用来自 PyTorch 的预训练 ResNet-18 模型,并通过 TVM 的 Relax API 对其进行端到端优化。请注意,默认的端到端优化可能不适用于复杂模型。原创 2025-10-17 19:19:35 · 468 阅读 · 0 评论 -
【TVM 教程】设置 RPC 系统
Apache TVM是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →远程过程调用(RPC)是 Apache TVM 的一个非常重要且有用的功能,它允许我们在实际硬件上运行编译后的神经网络(NN)模型,而无需触及远程设备,输出结果将通过网络自动传回。通过消除手动工作,如将输入数据转储到文件、将导出的 NN 模型复制到远程设备、设置设备用户环境以及将输出结果复制到主机开发环境,RPC 极大地提高了开发效率。原创 2025-09-24 17:48:41 · 1072 阅读 · 0 评论 -
【TVM 教程】Python Target 参数化
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →远程过程调用(RPC)是 Apache TVM 的一个非常重要且有用的功能,它允许我们在实际硬件上运行编译后的神经网络(NN)模型,而无需触及远程设备,输出结果将通过网络自动传回。通过消除手动工作,如将输入数据转储到文件、将导出的 NN 模型复制到远程设备、设置设备用户环境以及将输出结果复制到主机开发环境,RPC 极大地提高了开发效率。原创 2025-09-21 20:17:35 · 837 阅读 · 0 评论 -
【TVM 教程】Python Target 参数化
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-08-25 10:23:19 · 1079 阅读 · 0 评论 -
【TVM 教程】向 TVM 中添加 Codegen
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-08-20 10:26:58 · 1044 阅读 · 0 评论 -
【TVM 教程】向 Relay 中添加 Compiler Pass
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-08-11 15:27:40 · 960 阅读 · 0 评论 -
【TVM 教程】向 Relay 中添加算子
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-08-06 10:37:34 · 934 阅读 · 0 评论 -
【TVM 教程】调试 TVM
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-07-28 10:16:01 · 495 阅读 · 0 评论 -
【TVM 教程】TVM 代码库实例讲解
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2025-07-21 11:03:32 · 902 阅读 · 0 评论 -
【TVM 教程】FAQ
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →。原创 2025-07-16 10:23:03 · 577 阅读 · 0 评论 -
【TVM 教程】如何处理 TVM 报错
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。原创 2025-07-07 10:36:05 · 428 阅读 · 0 评论 -
【TVM 教程】PAPI 入门
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →https://tvm.hyper.ai/原创 2025-06-30 10:31:02 · 358 阅读 · 0 评论 -
【TVM 教程】在 TVM 中使用 Bring Your Own Datatypes
接下来使用自定义数据类型进行中间计算。使用与上面相同的输入变量x和y,但在添加x + y之前,首先通过调用将x和y转换为自定义数据类型。注意如何指定自定义数据类型:使用特殊的语法来表示。此外,注意数据类型后面的「32」:这是自定义数据类型的位宽,告诉 TVMmyfloat的每个实例都是 32 位宽。try:# 打印最后一行错误尝试生成此程序会从 TVM 引发错误。TVM 不知道如何创造性地处理所有自定义数据类型!注意,类型代码 150 目前由用户手动选择。参阅中的。原创 2025-06-23 15:27:13 · 971 阅读 · 0 评论 -
【TVM 教程】如何使用 TVM Pass Instrument
可以使用装饰器创建自定义 instrument 类。创建一个工具类(计算每次 Pass 引起的每个算子出现次数的变化)。可以在 Pass 之前和之后查看op.name来找到每个算子的名称,从而计算差异。# Pass 可以嵌套。# 使用堆栈来确保得到之前/之后正确的 pairs。# 弹出最新记录的 Pass。# 只记导致差异的 Pass。"""return ["""ret = {}else:# 某些 CallNode 可能没有“名称”,例如 relay.Functionreturn。原创 2025-06-16 17:23:44 · 1038 阅读 · 0 评论 -
【TVM 教程】如何使用 TVM Pass Infra
Apache TVM 是一个深度的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。更多 TVM 中文文档可访问 →<https://tvm.hyper.ai/>原创 2025-06-09 14:03:29 · 832 阅读 · 0 评论
分享