注册 登录 进入教材巡展
#

出版时间:2026-02

出版社:电子工业出版社

以下为《国产异构架构并行算法设计》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 电子工业出版社
  • 9787121522079
  • 1-1
  • 16开
  • 2026-02
  • 411
  • 工学
  • 计算机类
  • 计算机科学与技术
  • 本科 研究生及以上
内容简介
本书面向高性能计算领域,关注最新的国产异构架构超算的硬件特点和其上的软件技术,涵盖神威、天河、深算系列超算的硬件架构和常用异构编程方法,以实例的形式讨论工程领域常用的数值和非数值计算方法,介绍其串行算法与并行算法的设计过程,并以海光超算为例给出并行算法的异构实现和优化技术。本书由简单算法到复杂算法,循序渐进,最后通过几个工程实例探讨算法的实际应用。本书可作为高等院校计算机科学与技术、软件工程等专业本科生或研究生的教材,使其在掌握通用串行算法及程序设计的基础上,进一步掌握高性能计算领域的理论知识,并提升具有耦合体系结构特征的并行算法设计和编程实践的技能水平。本书也可作为从事高性能计算相关研究的科研人员及从业者的参考资料,同时也可为关注高性能计算的读者提供有益参考。
目录
第1章 绪论 1
1.1 并行计算概述 1
1.1.1 串行计算与并行计算 1
1.1.2 并行计算机的分类 3
1.1.3 现代超级计算机 5
1.1.4 并行计算的用途 8
1.2 并行编程模型 9
1.2.1 数据并行模型 9
1.2.2 共享内存模型 9
1.2.3 消息传递模型 11
1.2.4 混合模型 12
1.3 并行算法的性能分析 13
1.3.1 基本概念 13
1.3.2 加速比性能模型 15
1.3.3 可扩展性分析 17
1.3.4 浮点运算速度与访存带宽 18
1.4 并行算法的设计方法与过程 19
1.4.1 并行算法的一般设计方法 19
1.4.2 并行算法的一般设计过程 21
习题 23
参考文献 23
第2章 国产典型异构架构超算 25
2.1 神威系列超算 25
2.1.1 系统架构 25
2.1.2 申威处理器架构 28
2.1.3 编程环境 30
2.2 天河系列超算 33
2.2.1 系统架构 34
2.2.2 新一代天河超算编程环境 40
2.3 深算系列超算 42
2.3.1 系统架构 42
2.3.2 节点内架构 43
2.3.3 ROCm/DTK编程环境 49
习题 51
参考文献 52
第3章 并行编程模型及语言 53
3.1 消息传递:MPI 53
3.1.1 MPI简介 53
3.1.2 MPI术语及基础函数 54
3.1.3 MPI通信模式 56
3.1.4 MPI文件I/O 61
3.1.5 MPI计算实例 64
3.2 共享存储:OpenMP 66
3.2.1 OpenMP简介 66
3.2.2 OpenMP并行执行模式 67
3.2.3 OpenMP编译制导指令 67
3.2.4 OpenMP运行时库函数 69
3.2.5 OpenMP环境变量 70
3.2.6 OpenMP计算实例 70
3.3 数据并行:向量化 71
3.3.1 向量化及SIMD概述 71
3.3.2 CPU上的SIMD技术 72
3.3.3 申威处理器的SIMD技术 73
3.3.4 SIMD向量化实例 74
3.4 HIP编程模型 75
3.4.1 CUDA与HIP 75
3.4.2 DCU编程模型 76
3.4.3 HIP术语 77
3.4.4 HIP程序流程 77
3.4.5 HIP线程模型 78
3.4.6 HIP核函数 81
3.4.7 HIP内存管理 82
3.4.8 HIP Stream 83
3.4.9 HIP Event 85
3.4.10 HIP设备管理 86
3.4.11 HIP错误检查 86
3.4.12 HIP编程实例 87
习题 89
参考文献 89
第4章 排序 90
4.1 归并排序 90
4.1.1 归并排序及其串行算法 90
4.1.2 归并排序的并行算法 93
4.1.3 DCU上实现归并排序 96
4.2 快速排序 98
4.2.1 快速排序及其串行算法 98
4.2.2 快速排序的并行算法 100
4.2.3 DCU上实现快速排序 103
习题 105
第5章 矩阵运算 106
5.1 稀疏矩阵-向量乘法 106
5.1.1 SpMV及其串行算法 106
5.1.2 SpMV的存储格式 107
5.1.3 SpMV的CPU多线程算法 109
5.1.4 DCU上实现SpMV 111
5.2 稠密矩阵乘 112
5.2.1 GEMM及其串行算法 112
5.2.2 GEMM的CPU多线程算法 113
5.2.3 DCU上实现GEMM 115
5.3 矩阵分解 120
5.3.1 LU分解及其串行算法 120
5.3.2 QR分解及其串行算法 122
5.3.3 LU分解多线程算法 124
5.3.4 QR分解多线程算法 126
5.3.5 DCU上实现LU分解 127
5.3.6 DCU上实现QR分解 128
习题 129
参考文献 130
第6章 线性方程组求解 131
6.1 线性方程组概述 131
6.2 高斯-约当消元法 132
6.2.1 串行Gauss-Jordan算法 132
6.2.2 并行Gauss-Jordan算法 135
6.2.3 DCU上实现Gauss-Jordan算法 140
6.3 广义最小残量法 142
6.3.1 GMRES算法简介 142
6.3.2 串行GMRES算法 144
6.3.3 并行GMRES算法 146
6.3.4 DCU上实现GMRES算法 147
6.4 共轭梯度法 149
6.4.1 CG算法简介 149
6.4.2 串行CG算法 150
6.4.3 并行CG算法 151
6.4.4 DCU上实现CG算法 151
习题 153
参考文献 154
第7章 偏微分方程求解 155
7.1 偏微分方程概述 155
7.2 偏微分方程的数值解法 158
7.2.1 有限差分法 159
7.2.2 有限体积法 159
7.2.3 有限元法 160
7.2.4 谱方法 160
7.2.5 谱元法 161
7.3 偏微分方程的有限差分法 161
7.3.1 有限差分格式 164
7.3.2 有限差分法求解拉普拉斯方程 165
7.4 有限差分法的并行算法 170
7.4.1 串行算法到并行算法 170
7.4.2 DCU上实现并行有限差分法 173
习题 176
参考文献 176
第8章 蒙特卡罗方法 178
8.1 蒙特卡罗方法概述 178
8.2 蒙特卡罗方法计算圆周率 179
8.2.1 串行算法 179
8.2.2 并行算法 181
8.2.3 DCU上实现并行算法 182
8.3 动力学蒙特卡罗方法 183
8.3.1 动力学蒙特卡罗方法概述 183
8.3.2 串行算法 184
8.3.3 并行算法 185
习题 189
参考文献 189
第9章 并行算法应用实例 190
9.1 团簇动力学模拟 190
9.1.1 团簇动力学概述 190
9.1.2 面向CPU的并行团簇动力学模拟 192
9.1.3 面向DCU的并行团簇动力学模拟 193
9.2 计算流体力学模拟 195
9.2.1 计算流体力学概述 195
9.2.2 基于有限差分法的一维对流-扩散方程模拟 198
9.2.3 基于并行有限差分法的二维对流-扩散方程模拟 203
9.3 原子动力学蒙特卡罗模拟 209
9.3.1 原子动力学蒙特卡罗概述 209
9.3.2 面向CPU的并行原子动力学蒙特卡罗模拟 209
参考文献 213