國產異構架構並行算法設計

陳丹丹

  • 出版商: 電子工業
  • 出版日期: 2026-02-02
  • 售價: $336
  • 語言: 簡體中文
  • 頁數: 214
  • ISBN: 7121522071
  • ISBN-13: 9787121522079
  • 相關分類: 系統開發
  • 下單後立即進貨 (約4週~6週)

商品描述

本書面向高性能計算領域,關註最新的國產異構架構超算的硬件特點和其上的軟件技術,涵蓋神威、天河、深算系列超算的硬件架構和常用異構編程方法,以實例的形式討論工程領域常用的數值和非數值計算方法,介紹其串行算法與並行算法的設計過程,並以海光超算為例給出並行算法的異構實現和優化技術。本書由簡單算法到覆雜算法,循序漸進,最後通過幾個工程實例探討算法的實際應用。 本書可作為高等院校計算機科學與技術、軟件工程等專業本科生或研究生的教材,使其在掌握通用串行算法及程序設計的基礎上,進一步掌握高性能計算領域的理論知識,並提升具有耦合體系結構特征的並行算法設計和編程實踐的技能水平。本書也可作為從事高性能計算相關研究的科研人員及從業者的參考資料,同時也可為關註高性能計算的讀者提供有益參考。

目錄大綱

第1章 緒論
1.1 並行計算概述
1.1.1 串行計算與並行計算
1.1.2 並行計算機的分類
1.1.3 現代超級計算機
1.1.4 並行計算的用途
1.2 並行編程模型
1.2.1 數據並行模型
1.2.2 共享內存模型
1.2.3 消息傳遞模型
1.2.4 混合模型
1.3 並行算法的性能分析
1.3.1 基本概念
1.3.2 加速比性能模型
1.3.3 可擴展性分析
1.3.4 浮點運算速度與訪存帶寬
1.4 並行算法的設計方法與過程
1.4.1 並行算法的一般設計方法
1.4.2 並行算法的一般設計過程
習題
參考文獻
第2章 國產典型異構架構超算
2.1 神威系列超算
2.1.1 系統架構
2.1.2 申威處理器架構
2.1.3 編程環境
2.2 天河系列超算
2.2.1 系統架構
2.2.2 新一代天河超算編程環境
2.3 深算系列超算
2.3.1 系統架構
2.3.2 節點內架構
2.3.3 ROCm/DTK編程環境
習題
參考文獻
第3章 並行編程模型及語言
3.1 消息傳遞:MPI
3.1.1 MPI簡介
3.1.2 MPI術語及基礎函數
3.1.3 MPI通信模式
3.1.4 MPI文件I/O
3.1.5 MPI計算實例
3.2 共享存儲:OpenMP
3.2.1 OpenMP簡介
3.2.2 OpenMP並行執行模式
3.2.3 OpenMP編譯制導指令
3.2.4 OpenMP運行時庫函數
3.2.5 OpenMP環境變量
3.2.6 OpenMP計算實例
3.3 數據並行:向量化
3.3.1 向量化及SIMD概述
3.3.2 CPU上的SIMD技術
3.3.3 申威處理器的SIMD技術
3.3.4 SIMD向量化實例
3.4 HIP編程模型
3.4.1 CUDA與HIP
3.4.2 DCU編程模型
3.4.3 HIP術語
3.4.4 HIP程序流程
3.4.5 HIP線程模型
3.4.6 HIP核函數
3.4.7 HIP內存管理
3.4.8 HIP Stream
3.4.9 HIP Event
3.4.10 HIP設備管理
3.4.11 HIP錯誤檢查
3.4.12 HIP編程實例
習題
參考文獻
第4章 排序
4.1 歸並排序
4.1.1 歸並排序及其串行算法
4.1.2 歸並排序的並行算法
4.1.3 DCU上實現歸並排序
4.2 快速排序
4.2.1 快速排序及其串行算法
4.2.2 快速排序的並行算法
4.2.3 DCU上實現快速排序
習題
第5章 矩陣運算
5.1 稀疏矩陣-向量乘法
5.1.1 SpMV及其串行算法
5.1.2 SpMV的存儲格式
5.1.3 SpMV的CPU多線程算法
5.1.4 DCU上實現SpMV
5.2 稠密矩陣乘
5.2.1 GEMM及其串行算法
5.2.2 GEMM的CPU多線程算法
5.2.3 DCU上實現GEMM
5.3 矩陣分解
5.3.1 LU分解及其串行算法
5.3.2 QR分解及其串行算法
5.3.3 LU分解多線程算法
5.3.4 QR分解多線程算法
5.3.5 DCU上實現LU分解
5.3.6 DCU上實現QR分解
習題
參考文獻
第6章 線性方程組求解
6.1 線性方程組概述
6.2 高斯-約當消元法
6.2.1 串行Gauss-Jordan算法
6.2.2 並行Gauss-Jordan算法
6.2.3 DCU上實現Gauss-Jordan算法
6.3 廣義最小殘量法
6.3.1 GMRES算法簡介
6.3.2 串行GMRES算法
6.3.3 並行GMRES算法
6.3.4 DCU上實現GMRES算法
6.4 共軛梯度法
6.4.1 CG算法簡介
6.4.2 串行CG算法
6.4.3 並行CG算法
6.4.4 DCU上實現CG算法
習題
參考文獻
第7章 偏微分方程求解
7.1 偏微分方程概述
7.2 偏微分方程的數值解法
7.2.1 有限差分法
7.2.2 有限體積法
7.2.3 有限元法
7.2.4 譜方法
7.2.5 譜元法
7.3 偏微分方程的有限差分法
7.3.1 有限差分格式
7.3.2 有限差分法求解拉普拉斯方程
7.4 有限差分法的並行算法
7.4.1 串行算法到並行算法
7.4.2 DCU上實現並行有限差分法
習題
參考文獻
第8章 蒙特卡羅方法
8.1 蒙特卡羅方法概述
8.2 蒙特卡羅方法計算圓周率
8.2.1 串行算法
8.2.2 並行算法
8.2.3 DCU上實現並行算法
8.3 動力學蒙特卡羅方法
8.3.1 動力學蒙特卡羅方法概述
8.3.2 串行算法
8.3.3 並行算法
習題
參考文獻
第9章 並行算法應用實例
9.1 團簇動力學模擬
9.1.1 團簇動力學概述
9.1.2 面向CPU的並行團簇動力學模擬
9.1.3 面向DCU的並行團簇動力學模擬
9.2 計算流體力學模擬
9.2.1 計算流體力學概述
9.2.2 基於有限差分法的一維對流-擴散方程模擬
9.2.3 基於並行有限差分法的二維對流-擴散方程模擬
9.3 原子動力學蒙特卡羅模擬
9.3.1 原子動力學蒙特卡羅概述
9.3.2 面向CPU的並行原子動力學蒙特卡羅模擬
參考文獻