我们知道TensorFlow是使用数据流图作为数据结构来进行各种数值计算,要让这些计算运行在硬件上,我们需要一个TensorFlow的编译生态系统:


整个编译流程先将TensorFlow的图转化为XLA HLO,即一种类似高级语言的图的中间表达形式,可以基于此进行一些High-Level的优化。接着将XLA HLO翻译为LLVM IR,使用LLVM编译到各种硬件的汇编语言,从而运行在硬件上进行数值计算。

上图的蓝色阴影部分是基于图的IR,绿色阴影部分是基于SSA的IR,然而这样的编译方式的缺点在于构建这样的编译系统的开销比较大,每一层的设计实现会有重复部分,同一个层次的IR彼此之间虽然相似,但是存在天生的“生殖隔离”,升级优化缺乏迁移性,即改变优化一个模块,并不能惠及到同层次的其他模块。因此,目前存在的问题就在于各种IR之间转换的效率和可迁移性不高。


对于上述问题

MLIR(Multi-Level Intermediate Representation)概述相关推荐

  1. MLIR(Multi-Level Intermediate Representation Compiler)架构 Infrastructure

    MLIR(Multi-Level Intermediate Representation Compiler)架构 Infrastructure Overview • Context • About M ...

  2. Python编程基础:第四十二节 多重继承Multi Level Inheritance

    第四十二节 多重继承Multi Level Inheritance 前言 实践 前言 我们之前已经讲过继承的相关知识,当一个类是另一个类的父类,而此时这里的子类又是另一个类的父类,那此时就涉及多重继承 ...

  3. 38动感菜单 38 jQuery And CSS Drop Down Multi Level Menu Solutions

    参看: http://www.1stwebdesigner.com/freebies/38-jquery-and-css-drop-down-multi-level-menu-solutions/ 3 ...

  4. 程序分析之中间表示(Intermediate Representation)

    静态分析 目录 静态分析 中间表示(Intermediate Representation) 抽象语法树(Abstract Syntax Tree,AST) 三地址码(Three Address Co ...

  5. 【软件分析/静态程序分析学习笔记】2.中间表示(Intermediate Representation)

    写在前面的话 本渣有幸成为南京大学软件学院研究生,在前往仙林校区蹭课的时候偶然发现了这门宝藏课程,听了以后感觉深有收获,但又因为课程难度较大,国庆假期归来发现遗忘较多,因此开了一坑来记录自己对每节课知 ...

  6. Intermediate Representation (IR) 中间表示

    Intermediate Representation(IR,中间表示)是在计算机科学和编译器设计中使用的概念,它是一种中间形式的程序表示,用于在不同编译阶段之间传递和处理代码.下面将详细介绍Inte ...

  7. MLIR (Multi-Level Intermediate Representation)

    MLIR 意思为:多级中间表示,是一种新的IR表示.MLIR 是 LLVM 项目的子项目. MLIR 是一种新型的编译器框架,其设计中参考了已有的编译器优点,规避了一些缺陷.包括了中间表示的定义.转换 ...

  8. 【软件分析/静态分析】学习笔记02——中间表示Intermediate Representation

  9. MLIR中间表示与编译

    MLIR中间表示与编译 概述 目前深度模型的推理引擎按照实现方式大体分为两类: 解释型推理引擎:  一般包含模型解析器,模型解释器,模型优化器.  模型解析器负责读取和解析模型文件,转换为适用于解 ...

最新文章

  1. 转】windows下使用批处理脚本实现多个版本的JDK切换
  2. 虚拟服务器启动顺序,认识VPC2007的虚拟机系统启动顺序
  3. 面试官问:为什么 Java 线程没有 Running 状态?我懵了
  4. python集合的元素可以是_Python集合的元素中,为什么不可以是包含嵌套列表的元组?...
  5. zookeeper安装_【Zookeeper】zookeeper的安装与调试
  6. @AspectJ中的几种通知方式详解
  7. iview图表_iview踩坑
  8. binwalk 提取bootimg_boot.img的解包与打包
  9. poj 3261 Milk Patterns
  10. 稿费一般多少钱一千字_写一篇1000字的稿子多少钱?一般
  11. 有什么样的将军就有什么样的兵
  12. 找回密码功能实现步骤
  13. Java岗面试:美国java程序员要求
  14. openshift学习手册
  15. 对Android apk 签名 --apksigner
  16. CornerNet论文笔记
  17. pat basic 1100 校庆
  18. CWeixin 类升级
  19. 职场中的实用心理学的学习心得
  20. Excel 2010 SQL应用038 以数值范围为条件的查询

热门文章

  1. python复杂网络 学习笔记
  2. 最强人脸检测来了 yolov5 face
  3. Cryptodome 安装
  4. 'AvgPool2d' object has no attribute 'divisor_override'
  5. socket传输结构体,c++,发送OK,recv返回字节大小正确但接受数据为空
  6. windows 安装pycocotools
  7. penalized_tanh可视化
  8. 青龙羊毛——利分闪电(搬运)
  9. 75 Zabbix中文乱码问题
  10. Windows Servers双网卡绑定并配置IP地址