摘要:
Codegen方言介绍 主要介绍CodeGen过程中使用的Dialect(方言),以及对设计演变的一些观察。 介绍 对MLIR基础架构中CodeGen进行概述,特别是LLVM项目代码库中可用的部分(upstream或intree)。虽然偶尔会提到LLVM项目代码库之外的MLIR用户,但没有被深入分析 阅读全文
摘要:
MLIR方法图片示例 MLIR 更广泛的社区讨论强调的第二个特征是,典型的量子经典计算编译管道需要多个级别的IR抽象。QIR只代表编译器降低流水线中的一个抽象级别,它实际上是量子计算机物理控制所需转换为模拟脉冲之前的最低机器级别。当然,还有其他抽象层,特别是那些可能更接近程序员和所使用的语言的抽象层 阅读全文
摘要:
MLIR中间表示和编译器框架 背景 随着深度学习技术的发展,深度学习技术也逐渐从学术研究的方向转向了实践应用的方向,这不仅对深度模型的准确率有了较高的需求,也对深度模型的推理速度有了越来越高的需求。 目前深度模型的推理引擎按照实现方式大体分为两类: 解释型推理引擎:一般包含一个模型解析器和一个模型解 阅读全文
摘要:
异常编译代码分析 https://lowlevelbits.org/compiling-ruby-part-5/ 调用堆栈、堆栈帧和程序计数器 在程序执行期间,机器维护指向正在执行的指令的指针。它被称为程序计数器(或指令指针)。 当调用一个方法时,程序计数器被设置为被调用函数(被调用者)上的第一条指 阅读全文
摘要:
算子量化精度验证技术 阅读全文
摘要:
MLIR应用技术分析 7.1.MLIR多层编译框架实现全同态加密的讨论 摘要 MLIR是谷歌推出的开源编译框架。基于论文:SyFER-MLIR: Integrating Fully Homomorphic Encryption Into the MLIR Compiler Framework,介绍将 阅读全文
摘要:
ARM指令SVE、SME在MLIR中的实现方式 1. MLIR基本概念 MLIR(Multi-Level Intermediate Representaion,多级中间表示)是一种用来构建可重用和可扩展编译的新方法。MLIR的设计初衷是为了解决软件碎片化问题,改进异构硬件的编译,显著减少构建特定领域 阅读全文
摘要:
IR中间表示一些图片示例 阅读全文
摘要:
方言下译到LLVM! 走向CodeGen 让Toy可执行! MLIR没有目标程序集的代码生成器。。。 幸运的是,LLVM做到了!在MLIR中有一种LLVM方言。 方言、下译、转换框架 I / O Toy Lang->Toy AST 以下是在本教程中构建的系统的完整端到端图片。 蓝色的盒子和箭头是具体 阅读全文
摘要:
1.3. 玩具语言IR方言 玩具语言方言:方言 在TableGen中声明性指定 def Toy_Dialect : Dialect { let summary = Toy IR Dialect; let description = [{ 这是对玩具语言方言的一个更长的描述 ... }]; // 方言 阅读全文