本书全面介绍智能计算架构与软件栈的基本原理和应用。内容涵盖:智能计算系统的基础知识,主要包括定义、发展历程;计算机体系结构基础,详述了指令系统、存储系统、流水线技术和并行计算;AI加速器原理,重点介绍了发展历史、设计思路、优化设计和性能评价;AI加速器架构,深入分析了单核和多核架构;AI编译器的工作原理和设计方法;基于TVM的定制化AI编译器的设计;两个海洋智能计算的实验案例。
更多科学出版社服务,请扫码获取。
1. 1999.09—2003.07哈尔滨工程大学自动化学院、本科
2. 2003.09—2005.03哈尔滨工程大学自动化学院、硕士
3. 2004.09—2008.03哈尔滨工程大学自动化学院、博士1. 2005—2009哈尔滨工程大学自动化学院、助教
2. 2006—2007加拿大国家研究院、访问学者
3. 2009—2011哈尔滨工程大学船舶与海洋工程学院、博士后
4. 2014—2015美国休斯敦大学、访问学者
5. 2011—2018哈尔滨工程大学自动化学院、副教授
6. 2018—至今哈尔滨工程大学智能科学与工程学院、教授
7. 2019—2020哈尔滨工程大学智能科学与工程、副院长
8.2020—至今哈尔滨工程大学计算机科学与技术学院、院长模式识别与智能系统,环境感知与无人系统、图像处理及机器视觉、控制科学与工程等领域
目录
第1章 概述 1
1.1 智能计算系统 1
1.1.1 智能计算系统的概念 1
1.1.2 智能计算系统的发展 2
1.2 智能计算系统中的硬件与软件 4
1.2.1 智能计算系统中硬件的角色 4
1.2.2 智能计算系统中软件栈的角色 6
思考题 8
第2章 计算机体系结构基础 9
2.1 指令系统 9
2.1.1 指令系统概述 9
2.1.2 数据表示 12
2.1.3 寻址方式 15
2.1.4 指令类型与指令格式 17
2.2 存储系统 20
2.2.1 存储系统概述 20
2.2.2 存储器技术与优化 21
2.2.3 缓存性能与优化 23
2.2.4 虚拟存储器 26
2.3 流水线 28
2.3.1 流水线概述 28
2.3.2 流水线性能 31
2.3.3 流水线中的相关 35
2.4 并行 39
2.4.1 并行度与并行体系结构分类 39
2.4.2 指令级并行 41
2.4.3 数据级并行 52
2.4.4 分布式并行训练系统 62
思考题 68
第3章 AI加速器原理 69
3.1 AI加速器概述 69
3.1.1 AI加速器的发展 69
3.1.2 AI加速器的设计思路 71
3.2 目标算法分析 72
3.2.1 计算特征 72
3.2.2 访存特征 75
3.3 AI加速器优化设计 80
3.3.1 运算部件设计 80
3.3.2 稀疏化设计 84
3.3.3 低位宽与混合精度设计 85
3.4 性能评价 86
3.4.1 性能指标 87
3.4.2 测试基准程序 87
3.4.3 影响性能的因素 88
思考题 89
第4章 AI加速器架构 90
4.1 单核AI加速器架构 90
4.1.1 总体架构 90
4.1.2 运算模块 92
4.1.3 存储与控制模块 94
4.2 多核AI加速器架构 97
4.2.1 总体架构 98
4.2.2 Cluster 架构 99
4.2.3 互联架构 103
4.3 AI加速器实例 105
4.3.1 Google TPU 105
4.3.2 TVM-VTA 106
4.3.3 NVDLA 108
4.3.4 华为昇腾AI处理器 109
思考题 111
第5章 AI编译器基础 112
5.1 传统编译器工作流程 112
5.1.1 LLVM编译器前端 112
5.1.2 LLVM编译器中间表示 114
5.1.3 LLVM编译器后端 116
5.2 AI编译器原理 119
5.2.1 AI编译器的结构与特征 119
5.2.2 AI编译器前端技术 120
5.2.3 AI编译器后端与运行时 137
思考题 158
第6章 AI编译器设计 159
6.1 TVM系统设计 159
6.1.1 TVM概述 159
6.1.2 TVM的计算图优化 161
6.1.3 TVM的计算与调度 165
6.1.4 TVM的自动调优框架 166
6.2 华为MindSpore软件栈设计 170
6.2.1 图算融合 170
6.2.2 融合算子加速优化框架AKG 173
思考题 175
第7章 基于TVM的定制化AI编译器 176
7.1 TVM前端扩展 176
7.1.1 数据表示实现 176
7.1.2 自定义算子实现 179
7.2 TVM后端及运行时扩展 183
7.2.1 代码生成的定制化开发 183
7.2.2 运行时的定制化开发 191
7.2.3 集成第三方硬件加速库 196
思考题 213
第8章 海洋智能计算实验 214
8.1 海洋智能信号预处理算子开发实验 214
8.1.1 实验目的 214
8.1.2 背景介绍 214
8.1.3 实验内容与步骤 218
8.2 海洋目标检测应用开发实验 219
8.2.1 实验目的 219
8.2.2 背景介绍 219
8.2.3 实验内容与步骤 223
参考文献 226