如何通过MLIR Toy Tutorials深入理解深度学习编译器Lowering至LLVM的过程?

2026-05-28 14:540阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2415个文字,预计阅读时间需要10分钟。

如何通过MLIR Toy Tutorials深入理解深度学习编译器Lowering至LLVM的过程?

0x0. 前言:在上文中,我们将Toy Dialect的部分Operation Lowering扩展到Affine Dialect、MemRef Dialect和Standard Dialect,而toy.print操作保持不变,因此又被称为局部Lowering。通过这种方式,Lowering可以将toy.print等操作转换为更底层的表示。


0x0. 前言

在上一节中,我们将Toy Dialect的部分Operation Lowering到Affine Dialect,MemRef Dialect和Standard Dialect,而​​toy.print​​操作保持不变,所以又被叫作部分Lowering。通过这个Lowering可以将Toy Dialect的Operation更底层的实现逻辑表达出来,以寻求更多的优化机会,得到更好的MLIR表达式。这一节,我们将在上一节得到的混合型MLIR表达式完全Lowering到LLVM Dialect上,然后生成LLVM IR,并且我们可以使用MLIR的JIT编译引擎来运行最终的MLIR表达式并输出计算结果。

阅读全文

本文共计2415个文字,预计阅读时间需要10分钟。

如何通过MLIR Toy Tutorials深入理解深度学习编译器Lowering至LLVM的过程?

0x0. 前言:在上文中,我们将Toy Dialect的部分Operation Lowering扩展到Affine Dialect、MemRef Dialect和Standard Dialect,而toy.print操作保持不变,因此又被称为局部Lowering。通过这种方式,Lowering可以将toy.print等操作转换为更底层的表示。


0x0. 前言

在上一节中,我们将Toy Dialect的部分Operation Lowering到Affine Dialect,MemRef Dialect和Standard Dialect,而​​toy.print​​操作保持不变,所以又被叫作部分Lowering。通过这个Lowering可以将Toy Dialect的Operation更底层的实现逻辑表达出来,以寻求更多的优化机会,得到更好的MLIR表达式。这一节,我们将在上一节得到的混合型MLIR表达式完全Lowering到LLVM Dialect上,然后生成LLVM IR,并且我们可以使用MLIR的JIT编译引擎来运行最终的MLIR表达式并输出计算结果。

阅读全文