技术教育社区
www.teccses.org

深度学习编译器设计

封面

作者:高伟,韩林,李嘉楠

页数:318

出版社:清华大学出版社

ISBN:9787302675518

电子书格式:pdf/epub/txt

网盘下载地址:下载深度学习编译器设计

内容简介

随着大模型的发展与应用,深度学习编译器的内涵和外延逐步扩展。与传统编译器相比,深度学习编译器增加了特定于人工智能模型实现的设计与优化。本书共12章。第1章从深度学习的起源、发展与爆发出发,引出深度学习模型的基础概念、深度学习应用的开发流程和深度学习框架。第2章介绍深度学习运算特征、深度学习硬件平台和深度学习编译技术,通过分析典型深度学习编译器的架构,给出深度学习编译器的一般架构。第3章介绍面向深度学习应用开发的编程模型和编程接口。第4章从计算图的构成、分类、转换和分析4个角度,介绍深度学习编译器前端的工作流程。第5章从中间表示的概念、分类和设计3个角度,分析深度学习编译器中间表示的设计方法和重要作用。第6~12章介绍深度学习编译优化,包括自动微分、计算图优化、内存分配与优化、算子选择与生成、代码生成与优化、自动并行及模型推理等。

本书可作为计算机科学与技术专业、软件工程专业的教学参考书,也可供人工智能大模型性能优化人员参考。

作者简介

高伟,先进编译实验室成员,博士,主要研究领域为高性能计算和先进编译技术。

韩林,先进编译实验室成员,教授,博士生导师,主要研究领域为高性能计算和先进编译技术。

李嘉楠,先进编译实验室成员,博士研究生,主要研究领域为高性能计算和先进编译技术。

本书特色

面向深度学习应用领域的深度学习编译器是充分调度算力、发挥硬件潜力的枢纽,是解决深度学习大模型在硬件平台上训练和部署任务的关键系统软件

目录

目录

第1章深度学习简介

1.1深度学习的起源、发展与爆发

1.1.1深度学习的起源

1.1.2深度学习的发展

1.1.3深度学习的爆发

1.2深度学习模型的基础概念

1.2.1深度学习模型的组成

1.2.2深度学习模型的运行

1.2.3深度学习模型的分类

1.3深度学习应用的开发流程

1.3.1通用开发流程

1.3.2特定领域典型应用的开发流程

1.4深度学习框架

1.4.1发展历程

1.4.2典型框架

1.4.3核心组件

第2章深度学习编译简介

2.1深度学习运算特征

2.1.1深度学习中的矩阵运算

2.1.2大规模矩阵运算面临的挑战

2.2深度学习硬件平台

2.2.1深度学习硬件技术架构

2.2.2深度学习硬件应用挑战

2.3深度学习编译技术

2.3.1典型深度学习编译器

2.3.2深度学习编译器的结构

第3章编程模型与编程接口

3.1编程模型

3.1.1任务划分

3.1.2数据分布

3.1.3通信和同步

3.1.4任务映射

3.1.5兼容性及发展趋势

3.2编程接口

3.2.1基于C/C 的接口

3.2.2基于Python的接口

3.2.3Python调用C/C 的绑定技术

第4章前端

4.1计算图构成

4.1.1数据节点

4.1.2计算节点

4.1.3控制节点

4.1.4依赖边

4.2计算图分类

4.2.1静态计算图

4.2.2动态计算图

4.3计算图转换

4.3.1动静结合技术

4.3.2动静统一技术

4.4计算图分析

4.4.1类型系统

4.4.2类型推导

4.4.3类型转换

4.4.4形状推导

第5章中间表示

5.1中间表示的概念

5.2中间表示的分类

5.2.1线性中间表示

5.2.2图中间表示

5.2.3混合中间表示

5.3中间表示的设计

5.3.1单层中间表示设计

5.3.2两层中间表示设计

5.3.3多层中间表示设计

第6章自动微分

6.1自动微分的概念

6.2自动微分的模式

6.2.1前向模式

6.2.2反向模式

6.3自动微分的实现

6.3.1基本表达式法

6.3.2操作符重载法

6.3.3源码转换法

第7章计算图优化

7.1算子融合

7.1.1融合规则

7.1.2融合策略

7.1.3内存融合

7.1.4并行融合

7.1.5动态融合

7.2混合精度改写

7.3数据布局转换

7.4其他图优化方法

7.4.1常量折叠

7.4.2公共子表达式消除

7.4.3代数化简

第8章内存分配与优化

8.1内存分配

8.2内存复用

8.2.1原地置换

8.2.2内存共享

8.3张量迁移

8.3.1迁移机制

8.3.2迁移优化

8.4重计算

8.4.1静态图重计算

8.4.2动态图重计算

8.4.3快速注意力机制

第9章算子选择与生成

9.1算子选择

9.2算子生成

9.2.1基于机器学习的算子生成

9.2.2基于多面体变换的算子生成

第10章代码生成与优化

10.1过程间优化

10.2循环优化

10.2.1循环展开

10.2.2循环合并

10.2.3循环分布

10.2.4循环剥离

10.2.5循环分段

10.2.6循环分块

10.2.7循环交换

10.3语句级优化

10.3.1冗余语句删除

10.3.2公共子表达式消除

10.4指令级优化

10.4.1指令流水

10.4.2超标量

10.4.3超长指令字

10.5自动并行化

10.5.1自动向量化

10.5.2自动张量化

10.5.3自动OpenMP并行化

10.6访存优化

10.6.1寄存器优化

10.6.2内存优化

第11章自动并行

11.1并行划分

11.1.1数据并行划分

11.1.2模型并行划分

11.1.3序列并行划分

11.1.4混合并行划分

11.2并行策略

11.2.1搜索空间

11.2.2代价模型

11.2.3搜索算法

11.3通信优化

11.3.1通信优化基础

11.3.2通信优化策略

第12章模型推理

12.1模型部署

12.1.1部署工具

12.1.2部署方式

12.2模型压缩

12.2.1量化

12.2.2剪枝

12.2.3知识蒸馏

12.3推理加速

12.3.1图优化

12.3.2算法优化

12.3.3运行时优化

参考文献

赞助用户下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《深度学习编译器设计》
Article link:https://www.teccses.org/21042.html