混合架構(gòu)超算并行程序設(shè)計與應(yīng)用
定 價:52 元
- 作者:儲根深
- 出版時間:2023/2/1
- ISBN:9787121451546
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP338
- 頁碼:240
- 紙張:
- 版次:01
- 開本:16開
本書面向國產(chǎn)E級超算的體系結(jié)構(gòu)和高性能計算領(lǐng)域,關(guān)注近年來出現(xiàn)的新超算硬件和新軟件技術(shù)(如神威E級超算編程模式、DCU編程模式)。本書涵蓋神威、曙光等超算的硬件架構(gòu)與編程方法,深度結(jié)合國產(chǎn)超算體系結(jié)構(gòu)特點,以實例的形式探討異構(gòu)超算上的高性能算法設(shè)計、優(yōu)化技術(shù)及高性能軟件的開發(fā)和優(yōu)化方法。本書可作為高等院校計算機科學(xué)與技術(shù)、軟件工程等專業(yè)本科生或研究生的教材,使其在掌握通用計算機程序設(shè)計的基礎(chǔ)上,進一步提升在該領(lǐng)域的理論知識水平和程序優(yōu)化實踐技能,也可作為從事高性能計算和體系結(jié)構(gòu)研究的科研工作者與工程技術(shù)人員的參考資料,同時也能為關(guān)注高性能計算與超算技術(shù)發(fā)展的讀者提供有益參考。
儲根深,工學(xué)博士,長期從事面向國產(chǎn)超算異構(gòu)混合架構(gòu)的基礎(chǔ)數(shù)學(xué)庫、大規(guī)模并行算法、高性能科學(xué)計算軟件與性能優(yōu)化研究。主導(dǎo)開發(fā)了MISA-MD、MISA-AKMC等大型材料計算軟件,在神威超算實現(xiàn)萬億粒子規(guī)模的MD模擬世界紀(jì)錄。核心參與國家重點研發(fā)、國家自然科學(xué)基金等項目近10項。發(fā)表SCI/EI高水平論文10余篇、申請發(fā)明專利10余項。
第1章 緒論 1
1.1 高性能計算應(yīng)用需求和意義 1
1.2 混合架構(gòu)超算發(fā)展趨勢 2
1.3 如何進行異構(gòu)混合架構(gòu)上的程序設(shè)計 2
1.4 本書的內(nèi)容和安排 3
第2章 異構(gòu)混合架構(gòu)概述 5
2.1 國際國內(nèi)超算現(xiàn)狀 5
2.1.1 超算發(fā)展歷程 6
2.1.2 超算發(fā)展現(xiàn)狀 8
2.1.3 我國超算發(fā)展現(xiàn)狀 12
2.2 典型的混合架構(gòu)計算機 13
2.2.1 CPU+GPU架構(gòu):以Frontier、Summit、Aurora為代表 13
2.2.2 ARM架構(gòu):日本富岳 16
2.2.3 CPU+DCU:曙光超算 17
2.2.4 神威主從核架構(gòu):新一代神威超算 18
2.2.5 新一代天河超算 19
2.3 混合架構(gòu)程序設(shè)計語言與框架概述 22
2.3.1 OpenMP 22
2.3.2 MPI 23
2.3.3 CUDA/HIP 24
2.3.4 OpenACC 25
2.3.5 Athread 26
2.3.6 OpenCL 27
2.3.7 oneAPI 28
習(xí)題 29
參考文獻 30
第3章 異構(gòu)混合架構(gòu)性能分析理論 31
3.1 并行程序的時間開銷 31
3.2 相對性能 31
3.3 絕對性能 36
3.4 性能瓶頸 37
3.4.1 計算密度 37
3.4.2 訪存密集與計算密集 38
3.4.3 roofline性能模型 38
3.4.4 roofline分析示例:SpMV 39
習(xí)題 41
參考文獻 42
第4章 CPU高性能程序設(shè)計 43
4.1 內(nèi)存模型與OpenMP、MPI并行編程方法 43
4.2 OpenMP并行編程簡介 44
4.2.1 OpenMP的Hello World 45
4.2.2 編譯制導(dǎo)指令 47
4.2.3 運行時庫函數(shù) 49
4.2.4 環(huán)境變量 49
4.2.5 OpenMP offload 49
4.3 MPI并行編程簡介 50
4.3.1 MPI基本函數(shù) 50
4.3.2 MPI通信模式 55
4.4 SIMD向量化 60
4.4.1 CPU向量化指令集發(fā)展 60
4.4.2 向量化編程實踐 61
4.5 性能分析工具 65
4.5.1 perf工具 65
4.5.2 gprof工具 69
4.5.3 IPM工具 70
4.5.4 Score-P工具 73
習(xí)題 76
第5章 神威異構(gòu)眾核程序設(shè)計 77
5.1 神威超算及編程環(huán)境概述 77
5.1.1 神威超算的背景及歷史 77
5.1.2 神威·太湖之光超算架構(gòu) 78
5.1.3 新一代神威超算架構(gòu) 80
5.1.4 神威編程環(huán)境 81
5.1.5 訪存層次 84
5.2 神威眾核編程 85
5.2.1 眾核程序結(jié)構(gòu) 85
5.2.2 從核函數(shù) 86
5.2.3 第一個并行程序 87
5.2.4 示例:stencil計算優(yōu)化 92
5.3 神威SIMD 96
5.3.1 SIMD簡介 96
5.3.2 SIMD示例 100
習(xí)題 101
第6章 面向DCU架構(gòu)的程序設(shè)計與優(yōu)化 102
6.1 曙光超算及編程環(huán)境概述 102
6.1.1 曙光超算簡介 102
6.1.2 曙光超算節(jié)點架構(gòu) 102
6.1.3 ROCm/DTK編程環(huán)境 111
6.2 HIP編程方法 112
6.2.1 HIP與CUDA 112
6.2.2 曙光DCU編程模型 113
6.2.3 HIP編程 114
6.3 利用LDS進行數(shù)據(jù)共享 127
6.3.1 LDS概念 127
6.3.2 LDS使用實例 129
6.4 線程間通信 134
6.4.1 Block級線程通信 134
6.4.2 wavefront級線程通信 135
6.5 reduce優(yōu)化 138
習(xí)題 148
第7章 異構(gòu)混合架構(gòu)上的算法設(shè)計 149
7.1 DCU上的前綴和 149
7.1.1 Prefix Sum簡介 149
7.1.2 并行難點 150
7.1.3 wavefront Scan算法 152
7.1.4 Block Scan算法 154
7.1.5 全局Scan算法 155
7.1.6 更高效的Scan算法 157
7.2 通用矩陣乘 157
7.2.1 GEMM簡介 157
7.2.2 并行難點 158
7.2.3 面向DCU的GEMM優(yōu)化 158
7.2.4 BENCHMARK 163
7.3 DCU上的稀疏矩陣向量乘 164
7.3.1 概述 164
7.3.2 稀疏矩陣CSR存儲格式 164
7.3.3 并行難點 164
7.3.4 高效SpMV算法實現(xiàn) 166
習(xí)題 170
第8章 異構(gòu)混合架構(gòu)常用算法庫 172
8.1 算法庫介紹 172
8.1.1 常見算法庫層次 172
8.1.2 國內(nèi)外典型超算上的算法庫 172
8.2 稠密矩陣計算庫:rocBLAS、cuBLAS、swBLAS 173
8.2.1 BLAS接口介紹 173
8.2.2 rocBLAS 177
8.2.3 cuBLAS 181
8.3 稀疏矩陣計算庫:rocSPARSE、cuSPARSE、swSPARSE 182
8.3.1 常用的稀疏矩陣的存儲格式 182
8.3.2 rocSPARSE 185
8.3.3 cuSPARSE 190
8.3.4 swSPARSE 192
8.4 LAPACK線性代數(shù)計算庫:特征值、LU 195
8.4.1 LAPACK介紹 195
8.4.2 rocSOLVER 196
8.4.3 cuSOLVER 199
8.5 線性方程組求解 201
8.5.1 常用的求解算法 201
8.5.2 PETSc的層次架構(gòu) 202
習(xí)題 209
第9章 異構(gòu)混合架構(gòu)上并行應(yīng)用程序開發(fā)示例 210
9.1 MISA-MD分子動力學(xué)模擬程序異構(gòu)優(yōu)化 210
9.1.1 分子動力學(xué)模擬概述 210
9.1.2 面向DCU的MD優(yōu)化的挑戰(zhàn)性及優(yōu)化思路 211
9.1.3 主機-設(shè)備間通信及其優(yōu)化 211
9.1.4 并行計算策略 214
9.1.5 其他訪存優(yōu)化技術(shù) 215
9.2 SUMMER-CD 216
9.2.1 軟件介紹 216
9.2.2 物理模型 216
9.2.3 三層并行模型 218
9.2.4 自適應(yīng)異構(gòu)數(shù)據(jù)傳輸 221
9.2.5 基于Stream的計算通信重疊 223
9.3 有限體積法求解圣維南方程組在神威·太湖之光上的優(yōu)化 223
9.3.1 物理模型簡介 223
9.3.2 使用Athread線程庫加速 224
9.3.3 SIMD 226
9.3.4 雙緩沖機制 226
9.3.5 優(yōu)化效果 229