


《MLIR编译框架开发指南:构建新一代AI编译器基础设施》系统阐述了MLIR在人工智能编译领域中的核心原理、关键机制与工程实践,深入解析其在连接高层算法模型与底层硬件中的关键作用。全书共 6 章,从理论机制到工程实现,循序渐进地介绍MLIR的设计思想与应用实践。第 1 章从宏观视角分析AI编译器的技术演进与挑战;第 2 章系统介绍MLIR的基本概念、方言结构、pass管理机制及核心工具链,包括mlir-opt与mlir-translate工具的工作流程;第 3 章聚焦于MLIR中的重写模式与类型转换机制;第 4 章详细解析MLIR中的GPU代码生成流程;第 5 章介绍多面体编译技术在MLIR中的应用;第 6 章通过IREE框架的实际案例,展示MLIR在AI编译框架中的完整应用路径与工程价值。
《MLIR编译框架开发指南:构建新一代AI编译器基础设施》以MLIR为核心,在借鉴并继承LLVM设计理念的基础上,结合AI编译框架(如IREE)中的工程实践,兼具理论深度与工程实用性。读者通过学习本书,可系统掌握MLIR的核心机制与应用方法。
封面
前折页
书名页
版权
前言
第1章 AI编译器的演进与变革
1.1 AI编译器的核心作用
1.2 AI编译器的发展与挑战
1.2.1 面向GPU编程的Python DSL
1.2.2 基于分块的编程模型
1.3 MLIR的优势与价值
第2章 MLIR基本概念与工具
2.1 MLIR的基本概念和特点
2.1.1 MLIR中的操作与方言
2.1.2 MLIR中的常用方言
2.1.3 MLIR的高层结构
2.2 MLIR中的pass及其管理机制
2.2.1 MLIR pass的分类
2.2.2 MLIR pass的管理机制
2.3 mlir-opt工作流程
2.3.1 mlir-opt的基本用法
2.3.2 mlir-opt的内部调用流程
2.3.3 mlir-opt主函数功能
2.4 mlir-translate工作流程
2.4.1 方言操作到LLVM IR的翻译过程
2.4.2 操作翻译接口及其执行流程
2.5 LLVM IR到硬件指令的序列化
2.5.1 序列化成员函数功能
2.5.2 指令序列化过程
第3章 MLIR中的重写模式与转换机制
3.1 MLIR中的重写模式与模式驱动
3.1.1 重写模式与模式重写器
3.1.2 方言转换驱动与贪婪模式重写驱动
3.2 MLIR中的类型转换
3.2.1 类型转换函数
3.2.2 类型转换过程
3.3 转换目标与转换方式
3.3.1 ConversionTarget的合法性动作接口
3.3.2 转换方式与合法性的关系
3.3.3 操作合法化过程
3.4 模式收益与成本模型
3.4.1 构建合法化图
3.4.2 模式集合排序
3.4.3 成本模型的实现
第4章 MLIR中的GPU代码生成
4.1 GPU相关方言递降过程概述
4.2 Vector方言和NVGPU方言的基本概念和特点
4.2.1 Vector方言简介
4.2.2 NVGPU方言及其转换和优化
4.3 Vector方言到NVGPU方言的转换
4.3.1 ConvertVectorToGPU pass的定义与实现
4.3.2 Vector操作到NVGPU操作的转换框架
4.3.3 vector.transfer_read操作的转换过程
4.3.4 vector.contract操作的转换过程
4.3.5 vector.transfer_write操作的转换过程
4.4 NVGPU方言到NVVM方言的转换
4.4.1 ConvertNVGPUToNVVM pass的定义与实现
4.4.2 nvgpu.ldmatrix操作的转换过程
4.4.3 nvgpu.mma.sync操作的转换过程
第5章 MLIR中的多面体编译
5.1 多面体编译的基本概念
5.1.1 多面体模型基础
5.1.2 多面体编译影响因素
5.2 MLIR中的多面体编译技术
5.2.1 Affine方言
5.2.2 MLIR中的多面体编译优化pass
5.3 多面体编译在MLIR中的应用实例
5.3.1 AffineLoopTiling pass工作流程
5.3.2 AffineLoopFusion pass工作流程
第6章 MLIR在IREE框架中的应用
6.1 IREE简介
6.1.1 IREE编译流程及组成模块
6.1.2 IREE中的CUDA目标后端
6.2 代码生成配置pass流水线工作流程
6.2.1 缩并计算配置函数功能分析
6.2.2 流水线配置函数分析
6.2.3 LLVMGPUMatmulTensorCoreMmaSync流水线的分级分块
6.3 TileAndDistributeToWorkgroups pass工作流程
6.3.1 设备级分块过程输入IR分析
6.3.2 设备级分块过程实现
6.4 LLVMGPUTileAndDistribute pass工作流程
6.4.1 Linalg方言的基本结构与变换机制
6.4.2 工作组级分块过程输入IR分析
6.4.3 LLVMGPUTileAndDistribute pass分块过程
6.5 MLIR代码生成pass在IREE中的应用
6.5.1 LLVMGPUTensorCoreVectorization pass工作流程
6.5.2 LLVMGPUVectorToGPU pass工作流程
参考文献
后折页
封底
机械工业出版社 京icp备14043556号-1 (署)网出证(京)字第214号 Copyright (C) 2001 CmpBook. All Rights Reserved