AI加速器架构设计与实现
链接:https://pan.baidu.com/s/15ehTgoanmvK_geLa7zKivw?pwd=v3o6
提取码:v3o6

这是一本讲解NPU硬件架构设计与技术实现的。作者将自己在CPU、GPU和NPU领域15年的软硬件工作经验融会贯通,将四代NPU架构设计经验融为一体,将端侧和云侧NPU架构合二为一,总结并提炼出本书内容。本书主要讨论经网络硬件层面,尤其是芯片设计层面的内容,主要含经网络的分析、经网络加速器的设计以及具体实现技术。通过阅读本书,读者可以深入了解主流的经网络结构,掌握如何从零开始设计一个能用、好用的产品级加速器。
通过阅读本书,你将:
?透彻理解与深度学相关的机器学算法及其实现
?学会主流图像处理领域经网络的结构
?掌握加速器运算子系统和存储子系统的设计
?摸清加速器设计中遇到的具体问题及其解决方法
?了解NPU架构需要考虑的控制通路和数据通路
前言
第1章 卷积经网络 1
1.1 经网络的结构 2
1.2 GCN 4
1.3 网络的基本块 7
1.4 网络的算子 17
1.5 网络参数量与运算量 29
1.6 加速器编程模型 31
1.7 硬件加速器架构分类 33
第2章 运算子系统的设计 35
2.1 数据流设计 35
2.2 算力与带宽 38
2.2.1 算力与输入带宽 38
2.2.2 算力与输出带宽 41
2.3 卷积乘法阵列 43
2.3.1 Conv算法详解 43
2.3.2 NVDLA的乘法阵列 47
2.3.3 TPU的乘法阵列 59
2.3.4 GPU的乘法阵列 66
2.3.5 华为DaVinci的乘法阵列 74
2.4 卷积运算顺序的选择 80
2.5 池化模块的设计 81
第3章 存储子系统的设计 86
3.1 存储子系统概述 86
3.1.1 存储子系统的组成 86
3.1.2 内缓存的设计 89
3.2 数据格式的定义 97
3.2.1 征图的格式 98
3.2.2 权重的格式 100
第4章 架构化技术 106
4.1 运算度的选择 106
4.1.1 dynamic fixed point类型 109
4.1.2 bfloat16类型 110
4.2 硬件资源的复用 111
4.2.1 FC 112
4.2.2 de-Conv 115
4.2.3 dilate Conv 123
4.2.4 group Conv 123
4.2.5 3D Conv 127
4.2.6 TC Conv 130
4.2.7 3D Pool 132
4.2.8 Up Sample Pooling 136
4.2.9 多个加速器的级联 136
4.3 Winograd算法和FFT算法 138
4.3.1 Winograd算法解析 138
4.3.2 FFT算法解析 148
4.4 除法变乘法 150
4.5 LUT的使用 150
4.6 宏块并行技术 155
4.7 减少软件配置时间 156
4.8 软件化技术 157
4.9 一些激进的化技术 158
第5章 与护 160
5.1 技术 160
5.2 性评估 162
5.3 护 163
第6章 经网络加速器的实现 165
6.1 乘法器的设计 165
6.1.1 整型乘法器的设计 166
6.1.2 浮点运算器的设计 171
6.2 数字电路常见基本块的设计 184
6.3 时序化 203
6.4 低功耗设计 207
第7章 盘点与展望 211
7.1 AI加速器盘点 211
7.2 Training加速器 211
7.3 展望 218
后记 220