当前位置: 首页 > news >正文

MLIR Introduction

简介

MLIR 项目是一个构建可重用和可扩展编译器基础设施创新项目,旨在解决软件碎片化问题,显著降低构建特定领域编译器的成本。

基于MLIR,可以实现:

  • 数据流图表达(如TensorFlow),包含dynamic shape,用户扩展op等;
  • 数据流图的优化和变换,如Grappler;
  • 跨Kernel实现HPC风格的循环优化(如fusion,interchange,tiling等),数据在内存中的layout变换;
  • 针对1D(如CPU)和2D(如GPU)寄存器架构的代码生成“lowering”转换,如DMA指令插入,显式cache管理,内存Tiling,矢量化;
  • 表达特定硬件后端的的op,如加速器的高级操作;
  • 深度学习图变换,如量化等;
  • 多面体原语;
  • 硬件综合工具。

常用术语

Block(Basic Block):一个没有控制流的顺序operation列表。

Conversion:将代码从一种Dialect表示转换为语义等价的同一种(intra-dialect)或另一种Dialect(inter-dialect)表示。在MLIR的上下文中,conversion表示MLIR内的转换,既不转换到MLIR Dialect以外的表示(如LLVM IR)。

CSE (Constant Subexpression Elimination):公共子表达式消除

TODO

参考资料:

MLIR

Glossary - MLIR

http://www.dtcms.com/a/314750.html

相关文章:

  • Linux84 SHELL编程:流程控制 前瞻(1)
  • 数字信号处理_编程实例1
  • 京东开源新框架DripTable:轻量高效的企业级动态列表解决方案
  • 贪心算法
  • 基于Matlab的人脸识别签到系统
  • 前后端流式交互的几种方式
  • 学习嵌入式第十九天
  • 向日葵参考基因组
  • Day49 Java面向对象04 类与对象的创建
  • 【赵渝强老师】达梦数据库的DMSQL
  • Dify的部署(Docker Desktop )
  • 【Python小工具】图片转PDF
  • 破除陈规陋习的有效措施
  • Dynamic Programming【DP】2
  • RAG中的评估指标总结:BLEU、ROUGE、 MRR、MAP、nDCG、Precision@k、Recall@k 等
  • AR远程协作网页设计:虚实融合场景下的故障标注与操作指引界面
  • cf--思维训练
  • Git如何为多平台配置密钥和用户信息?
  • Git简易教程
  • PEAFOWL-IEEE-2025
  • Integer Types Range and varieties
  • 20250723-算法分析与设计之旅行商问题(Traveling Salesman Problem,TSP)
  • Antlr学习笔记 01、maven配置Antlr4插件案例Demo
  • golang的数组
  • SpringBoot-手动配置环境
  • VUE2 学习笔记17 路由
  • 一起学springAI系列一:流式返回
  • 嵌入式 - 数据结构:查找至双向链表
  • CUDA后端错误的根源与系统性解决方案
  • python文件操作:写入内容write