混合架構超算並行程式設計與套用

《混合架構超算並行程式設計與套用》是2023年電子工業出版社出版的圖書,作者是儲根深、胡長軍。

基本介紹

  • 中文名:混合架構超算並行程式設計與套用
  • 作者:儲根深、胡長軍
  • 出版社:電子工業出版社
  • 出版時間:2023年2月
  • 頁數:240 頁
  • 定價:52.00 元
  • 開本:16 開
  • ISBN:9787121451546
內容簡介,圖書目錄,

內容簡介

本書面向國產E級超算的體系結構和高性能計算領域,關注近年來出現的新超算硬體和新軟體技術(如神威E級超算編程模式、DCU編程模式)。本書涵蓋神威、曙光等超算的硬體架構與編程方法,深度結合國產超算體系結構特點,以實例的形式探討異構超算上的高性能算法設計、最佳化技術及高性能軟體的開發和最佳化方法。本書可作為高等院校計算機科學與技術、軟體工程等專業本科生或研究生的教材,使其在掌握通用電腦程式設計的基礎上,進一步提升在該領域的理論知識水平和程式最佳化實踐技能,也可作為從事高性能計算和體系結構研究的科研工作者與工程技術人員的參考資料,同時也能為關注高性能計算與超算技術發展的讀者提供有益參考。

圖書目錄

第1章 緒論 1
1.1 高性能計算套用需求和意義 1
1.2 混合架構超算發展趨勢 2
1.3 如何進行異構混合架構上的程式設計 2
1.4 本書的內容和安排 3
第2章 異構混合架構概述 5
2.1 國際國內超算現狀 5
2.1.1 超算發展歷程 6
2.1.2 超算發展現狀 8
2.1.3 我國超算發展現狀 12
2.2 典型的混合架構計算機 13
2.2.1 CPU+GPU架構:以Frontier、Summit、Aurora為代表 13
2.2.2 ARM架構:日本富岳 16
2.2.3 CPU+DCU:曙光超算 17
2.2.4 神威主從核架構:新一代神威超算 18
2.2.5 新一代天河超算 19
2.3 混合架構程式設計語言與框架概述 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
習題 29
參考文獻 30
第3章 異構混合架構性能分析理論 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
習題 41
參考文獻 42
第4章 CPU高性能程式設計 43
4.1 記憶體模型與OpenMP、MPI並行編程方法 43
4.2 OpenMP並行編程簡介 44
4.2.1 OpenMP的Hello World 45
4.2.2 編譯製導指令 47
4.2.3 運行時庫函式 49
4.2.4 環境變數 49
4.2.5 OpenMP offload 49
4.3 MPI並行編程簡介 50
4.3.1 MPI基本函式 50
4.3.2 MPI通信模式 55
4.4 SIMD向量化 60
4.4.1 CPU向量化指令集發展 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
習題 76
第5章 神威異構眾核程式設計 77
5.1 神威超算及編程環境概述 77
5.1.1 神威超算的背景及歷史 77
5.1.2 神威·太湖之光超算架構 78
5.1.3 新一代神威超算架構 80
5.1.4 神威編程環境 81
5.1.5 訪存層次 84
5.2 神威眾核編程 85
5.2.1 眾核程式結構 85
5.2.2 從核函式 86
5.2.3 第一個並行程式 87
5.2.4 示例:stencil計算最佳化 92
5.3 神威SIMD 96
5.3.1 SIMD簡介 96
5.3.2 SIMD示例 100
習題 101
第6章 面向DCU架構的程式設計與最佳化 102
6.1 曙光超算及編程環境概述 102
6.1.1 曙光超算簡介 102
6.1.2 曙光超算節點架構 102
6.1.3 ROCm/DTK編程環境 111
6.2 HIP編程方法 112
6.2.1 HIP與CUDA 112
6.2.2 曙光DCU編程模型 113
6.2.3 HIP編程 114
6.3 利用LDS進行數據共享 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最佳化 138
習題 148
第7章 異構混合架構上的算法設計 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最佳化 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算法實現 166
習題 170
第8章 異構混合架構常用算法庫 172
8.1 算法庫介紹 172
8.1.1 常見算法庫層次 172
8.1.2 國內外典型超算上的算法庫 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線性代數計算庫:特徵值、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的層次架構 202
習題 209
第9章 異構混合架構上並行應用程式開發示例 210
9.1 MISA-MD分子動力學模擬程式異構最佳化 210
9.1.1 分子動力學模擬概述 210
9.1.2 面向DCU的MD最佳化的挑戰性及最佳化思路 211
9.1.3 主機-設備間通信及其最佳化 211
9.1.4 並行計算策略 214
9.1.5 其他訪存最佳化技術 215
9.2 SUMMER-CD 216
9.2.1 軟體介紹 216
9.2.2 物理模型 216
9.2.3 三層並行模型 218
9.2.4 自適應異構數據傳輸 221
9.2.5 基於Stream的計算通信重疊 223
9.3 有限體積法求解聖維南方程組在神威·太湖之光上的最佳化 223
9.3.1 物理模型簡介 223
9.3.2 使用Athread執行緒庫加速 224
9.3.3 SIMD 226
9.3.4 雙緩衝機制 226
9.3.5 最佳化效果 229

熱門詞條

聯絡我們