图书前言

前言

人工智能在全世界广泛应用。深度学习框架(如TensorFlow、

PyTorch、MXNet、Caffe等)推动了AI技术革命。大多数现有的系统框架针对小范围的服务器级GPU进行

优化,仍然需要做很多工作,才能在其他平台上部署,如汽车、手机、物联网设

备及专用加速器(FPGA、ASIC)。随着深度学习框架和硬件后端数量的增加,提出了一种统一的中间表示的解决方案MLIR——一种优化深度学习框架与提高效率的编译器。

有了MLIR 的帮助,可以轻松地在手机、嵌入式设备甚至浏览器上运行深度学习模型,只需做很少的额外工作。MLIR 还为多种硬件平台上的深度学习计算提供了统一的优化框架,包括一些有自研计算原语的专用加速器。

MLIR是一个深度学习编译器,所有人都能随时随地地访问高性能机器学习。MLIR 由硬件供应商、编译器工程师和机器学习研究人员组成的多元化社区共同构建了一个统一的可编程软件堆栈,丰富了整个机器学习技术生态系统并使其可供更广泛的机器学习社区使

用。

MLIR的全名为MultiLevel Intermediate Representation,是一种由谷歌公司开发的开源编译器基础设施,它将深度学习模型进行优化推理,内存管理与线程调度,借用LLVM部署到在CPU、GPU、FPGA、ARM 等硬件设备上。

本书全面解析MLIR的主要功能,帮助读者理解MLIR工作原理,以及使用MLIR对算子模型进行优化与部署开发。MLIR可以高效地部署在不同的硬件设备上,是深度学习系统的编译器堆栈。目的是缩小以生产力为中心的深度学习框架与以性能和效率为中心的硬件后端之间的差距。MLIR 与深度学习框架合作,为不同的后端提供端到端编译。

全书共分11 章,主要内容如下: 

第1章用MLIR构建编译器: 讲述Toy方言与MLIR的引入。

第2章MLIR编译器基础: 讲述MLIR基础知识、功能模块及代码结构。

第3章MLIR编译器功能模块: 讲述MLIR编译,DSL技术、堆栈调用技术。

第4章MLIR方言技术: 讲述MLIR方言特征,方言开发实践。

第5章TPUMLIR开发技术分析: 讲述TPUMLIR工程、各种优化调度存储策略及实践。

第6章MLIR中间表示与编译器框架: 讲述MLIR的外部依赖、不同应用适配及示例。

第7章MLIR代码生成技术: 讲述代码生成的基本原理、下译技术及优化实践。

第8章MLIR的后端编译过程: 讲述MLIR Toy方言应用、下译映射及编译实践。

第9章BuddyMLIR工程技术解析: 讲述BuddyMLIR工程结构、代码构建及编译实践。

第10章TPUMLIR开发实践: 讲述TPUMLIR环境配置搭建、ONNX模型转换与工程实践。

第11章IREE编译流程与开发实践: 讲述IREE内核结构、编译流程与工程实践。

扫描目录上方的二维码可下载本书源码。

编者2025年2月