如何通过MLIR Toy Tutorials深入理解深度学习编译器Lowering至LLVM的过程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2415个文字,预计阅读时间需要10分钟。
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分钟。
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表达式并输出计算结果。

