Skip to main content
Ctrl+K
👋欢迎进入编程视界!👋
TVM 开发指南 - Home TVM 开发指南 - Home
  • 知乎
  • 简书
  • B站
  • 博客园
  • 领英
  • 教程
    • TVM 入门
      • TVM 环境配置
      • TVM 官方教程
      • TVM 样例
      • IRModule
      • TensorIR
        • TensorIR 构建
        • 元张量函数变换
      • Relax
        • Relax 构建
        • 变换
      • 端到端模型优化样例
      • 自定义优化
      • 优化大语言模型
      • 交叉编译与RPC
    • 张量表达式
      • 张量计算
      • 张量
      • tvm.te.tag.tag_scope()
    • 现代化 FFI 系统
      • FFI 简介
      • FFI 容器
      • FFI 设备
      • FFI 数据类型
      • FFI 错误处理
      • FFI 函数
      • FFI 张量
      • FFI 字符串
      • Any 和 AnyView
      • FFI DLPack 接口
    • 三方库
      • ccache
    • 代码生成
      • extern
      • C host
    • target
      • VirtualDevice
    • 量化
      • 量化简介
    • TVM 插件
      • Python 调用 C++
        • 拓展 TVM C++ 功能
        • Python 端加载 C++ 端动态库
        • 使用 tvm._ffi._init_api() 管理 TVM 插件
        • 其他 C++ 打包函数的例子
      • C++ 调用 Python
      • TVM 模块插件
      • 创建 TVM 的 NDArray 的子类
      • 注册插件
    • TVM 运行时
      • module 导出
      • TVM 运行时(C++)
        • TVM Runtime api
        • Object
    • Relax 数据流模式语言
      • DPL 模式匹配
      • DPL 模式重写
      • DPL 模式上下文
      • 测试无琐碎绑定的重写
      • 测试相同形状模式
      • 迭代重写
      • 测试匹配结构信息
      • 回溯
    • 变换
      • FoldConstant
      • FoldBatchnormToConv2D
      • 融合算子
        • 融合 Conv2dReLU
        • BranchTupleOutput
        • 循环依赖
        • 复合路径
        • 匹配子图
      • 融合 Transpose 和 Matmul
      • 合并复合函数
      • AttachExternModules
      • RunCodegen
    • Instrument
      • 测试 PrintAfterAll 和 PrintBeforeAll
    • MSC
      • MSC 量化器
    • 训练
      • 损失函数
      • AppendLoss
      • optimizer
      • 测试优化器
      • SetupTrainer
      • 数值训练器
      • 使用 Relax 训练 API 训练模型
    • 深度学习
      • 深度学习简介(待更新)
    • 计算机视觉
      • 线性回归
  • 专题
    • Cookbook
    • TVM 长廊
      • Daobook xgrammar
      • Daobook mlc-llm
        • mlc-llm 简介
        • 使用 TVM nn.module 工作流在 MLC-LLM 中添加新模型架构
    • MLC
      • mlc-python
      • mlc.cc.jit_load()
    • FAQs
      • Docker FAQs
      • VSCode
        • VSCode Remote 开发 FAQ
      • GitHub FAQs
    • 外部资源
      • 垃圾站
  • 前端
    • ONNX
      • ONNX 概述
      • ONNX 格式转换
      • ONNX Script
        • ONNX Script 简介
        • ONNX Script 教程
        • ONNX Script GELU
        • ONNX Script chunk
        • 扩展 ONNX 注册表
        • ONNX Script 生成 FunctionProto
        • 生成 ModelProto
        • ONNX 序列化
        • 生成 LibProto
        • ONNX Script 急切模式评估
        • ONNX ModelProto 属性
        • ONNX Script 模型本地函数
      • ONNX Script 模式匹配
        • 基于模式的使用规则进行重写
        • ONNX Script 模式重写进阶
      • ONNX Script 模型优化
        • ONNX Script optimizer
      • ONNX IR
        • 开始使用 ONNX IR
        • 在 ONNX IR 中的张量表示
      • ONNX 工具
        • ONNX 模型文件转换为 Python脚本
        • 优化 ONNX 模型的实用工具
    • Relax
      • Relax ONNX 前端
        • 上手 Relax ONNX 前端
        • ONNX Relax 测试
      • PyTorch ONNX Relax
        • PyTorch resnet18 Relax
        • PyTorch Relax 测试
      • tvm.relax.frontend.nn
        • 张量
        • 基础算子
        • 算子
        • packing
        • subroutines
        • debug
        • exporter
        • Mutator
        • jit
  • 插件
    • 测试
  • 实例
    • mm-relu 示例
    • 后处理
      • YOLO 后处理之坐标变换
  • TVM v0.19.0 文档
    • TVM FFI
      • tvm._ffi.libinfo
      • TVM 常用数据结构
      • register_func() 注册全局函数
      • tvm._ffi 查找/移除全局函数
      • _init_api()
      • register_object
    • TVM v0.19.0 代码生成
      • 外部代码生成
      • module 导出
    • PyTorch 翻译为 ONNX
      • ONNX 模型精简
        • ONNX GatherND
        • onnx L2 范数
        • torch2onnx:Scatter
        • ScatterElements
        • onnx ScatterND
        • torch2onnx SequenceConstruct
        • torch转ONNX:Unsqueeze
        • torch转ONNX:Upsample
        • BN+conv
        • onnx conv+reshape
        • torch.Tensor.expand() 转换
        • onnx flatten
        • ONNX HardSwish
        • torch 索引转换
        • torch.Tensor.repeat() 转换
        • Resize
        • torch 切片转换
        • torch转ONNX:split
    • relay 前端
      • PyTorch Relay 前端
        • PyTorch resnet18 Relay
        • PyTorch Relay 前端测试
      • ONNX Relay 前端
        • HardSigmoid
        • 测试 ONNX relay 模型
      • TensorFlow Relay 前端
        • Graph
        • Tensorflow1 前端
        • Tensorflow(pb) 转 ONNX
        • Tensorflow 前端之 TF-slim
        • tf2onnx 概述
      • Caffe Relay 前端
        • caffe 环境
        • Caffe Relay 算子测试
        • caffe relay 网络
    • MSC
      • MSC 简介
      • MSC 计算图
        • MSCGraph 简介
        • Codegen 模块
      • MSC 运行器
        • TorchRunner
        • TVMRunner
        • TensorflowRunner
      • MSC 管道
        • MSC 编译流程
        • MSCManager
        • TorchDynamic
      • MSC 工具
        • MSCTools 设计特点
        • 剪枝
        • 量化
        • 追踪
        • MSC 工具测试
      • 插件
        • MSC Plugin
      • 测试
        • MSC 基础 pass
        • 前端模型转换
        • 翻译 relax 代码
        • 翻译 Relay 代码
        • 翻译 tensorflow 代码
        • 翻译 tensorrt 代码
        • 翻译 PyTorch 代码
      • MSC demo
    • 解读 tvm.relay.quantize()
      • 量化配置
      • 预热阶段
      • 量化 QPartitionExpr
      • 量化分区
      • 量化注解
      • SimulatedQuantize
      • TVM 自动量化校准
      • 自动量化实现
        • 自动量化实现常用函数和类
        • GetFixedPointMultiplierShift
        • MulAndDiv
        • UnifyDTypeScale
        • CastDtypeInputRealize
      • partition_conversions
    • 编译器
      • 合并编译器区域
      • MergeComposite
      • 计算图分区
      • 混合精度
    • TVM 解读(临时)
      • 项目配置
      • Relax
        • Relax RemoveRedundantReshape: 消除冗余的 reshape
      • Relay 前端
        • common
        • ONNX 前端接口
        • PyTorch 前端接口
      • tvm.arith 解读
        • tvm.arith.analyzer 解读
      • 解读 tvm.target
        • 解读 GenericFunc
        • generic_func()
        • 解读 override_native_generic_func()
      • 解读 tvm.ir
        • 解读 EnvFunc
        • 源代码映射
        • 中间表示中的类型节点
        • 解读 tvm.ir.structural_hash
      • 解读 tvm/script
        • 解读 tvm/script/parser/core
      • 运行时(C++)
        • TVM Runtime base
        • tvm::runtime::Object
        • tvm::runtime::ObjectPtr
        • tvm::runtime::ObjectRef
        • 内存机制
        • 解读 packed_func
        • make_node()
        • TVM 宏
        • env_func
        • repr
        • node functor
        • 数据类型
      • 解读 tvm.topi
        • saturate (有 bug)
        • 浮点数到定点的转换(TOPI)
      • tvm.tir 解读
        • tvm.tir.expr
        • 补码
        • 解读 q_multiply_shift()
        • tvm.tir.analysis
        • StorageRewrite
        • 解读 tvm.tir.transform.LowerDeviceStorageAccessInfo
      • TVM op
        • op IR
        • 为算子添加类型关系
        • nn.pad
      • 数据布局
        • InferCorrectLayoutOutput
      • 属性
        • 对象属性辅助函数
      • TVM 表达式
        • 解读类型推断
        • 表达式
        • 添加 relay 算子
        • 解读 ExprFunctor
      • TVM 节点反射
      • TVM 变换
        • 变换概述
        • TVM Pass Infra
        • TVM Pass Instrument
        • 简化推理
        • 解读 FoldScaleAxis
        • 定制 Pass
        • fold-explicit-padding
        • AnnotateSpans
        • 解读 TVM 变换
      • 源码映射机制
        • 源码映射
        • 构建源信息
        • relay.Span 示例
      • NameSupply
      • 内存计划
      • UMA 开发
        • UMAPartitioner
        • 快速入门 UMA
      • Relay
        • ADT
        • check_basic_block_normal_form
        • 测试分析提取伪量化算子
        • 分析提取融合函数
        • 分析提取中间表达式
        • 分析提取算子
        • 注解区域
        • call graph
        • simplify_fc_transpose()
        • 测试折叠比例轴
        • 解读 DFPatternCallback
        • 类型推断
        • ToMixedPrecision 解读
        • 解读 _test_type_solver
        • FForwardRewrite
        • tvm::relay::transformForwardRewrite
        • tvm::relay::RewriteAnnotatedOps()
        • Relay 后端
        • 构建 Relay 模型
        • graph executor
        • cpp-build-module
        • analysis-get-calibration_data
        • memory-passes
        • AnnotateUsedMemory
      • QNN
        • FTVMQnnCanonicalize
        • FTVMQnnLegalize()
        • tvm.relay.qnn.op.softmax()
      • 测试模块
        • 运行时错误
      • 解读代码生成
        • C-host 代码生成简介
        • 代码生成:静态初始化
        • 代码生成:VM 基础
        • 代码生成:extern
      • tvm.contrib
        • Verilator 集成
      • Relay 临时表达式
    • 其他专题
      • YOLO
        • YOLO Relay 推理
        • YOLO11 Relax 推理
        • YOLO11 Relax 优化
        • 裁剪 YOLOv8n 以探索计算图分割
  • 关于
    • 符号
    • 参考文献
    • 行为准则
    • 贡献
    • 变更日志
  • Repository
  • Show source
  • Suggest edit
  • Open issue
  • .md

tvm.tir 解读

tvm.tir 解读#

  • tvm.tir.expr
    • Ramp
  • 补码
    • 背景:使用无符号数字进行计算
  • 解读 q_multiply_shift()
    • Q 表示法
      • Q 表示法的定义
      • Q 表示法的数学运算
      • Q 数加法
      • Q 数减法
      • Q 数乘法
      • Q 数除法
    • 定点数示例
      • 为什么使用定点表示法?
      • 定点乘法简介
      • 符号扩展
      • 定点加法
      • 避免溢出的防护位
    • 定点表示法的乘法示例
      • 无符号数的无符号乘法
      • 二进制补码的重要特征
      • 无符号数乘以有符号数
      • 有符号数乘以有符号数
    • 浮点数转定点数(C++)
    • 浮点转定点
  • tvm.tir.analysis
    • 计算分配内存
      • 计算每个 scope 内存分配
      • 计算混合 scope 的内存分配
      • full_mod_calculator
  • StorageRewrite
  • 解读 tvm.tir.transform.LowerDeviceStorageAccessInfo
    • 将 CPU 可见的缓冲区分配替换为 LetStmt

上一页

浮点数到定点的转换(TOPI)

下一页

tvm.tir.expr

作者: xinetzone

© Copyright 2022, xinetzone.

最后更新于 2025-05-15, 01:46:09.