內容簡介
這是一本關於並行性,主要概述了並行計算的各個方面並介紹其所依賴的軟、硬體平台;關於並行套用,主要介紹了並行計算在計算流體力學、環境與能源、計算化學,以及其他十幾個典型數值和非數值計算領域中的套用;關於軟體技術,主要介紹了並行計算的軟體基礎,包括訊息傳遞和執行緒、並行I/O、程式語言與編譯器、面向對象的並行庫、問題求解環境、性能調整與程式調試工具等;關於關鍵技術和算法,主要介紹了在大量套用領域廣泛使用的並行計算技術和並行算法,包括可重用軟體與算法、高性能科學模擬中的圖剖分問題、格線剖分、模板與數值線性代數、PDE可擴展求解軟體、並行連續最佳化、科學計算路徑追蹤和自動微分等。本書還列出了近年來與並行計算相關的上千篇參考文獻。
目錄
第一部分 並行性
第1章 引言
1.1 並行計算硬體
1.2 並行套用
1.3 軟體和算法
1.4 並行計算科學
第2章 並行機體系結構
2.1 單處理機體系結構
2.2 並行體系結構
2.3 並行體系結構的未來趨勢
2.4 小結
第3章 並行編程面臨的問題
3.1 體系結構
3.2 程式並行分解
3.3 並行性能最佳化
3.4存儲層次管理
3.5 並行調試
3.6 性能分析與調整
3.7 並行I/O
3.8 小結
第二部分 並行套用
第4章 一般套用問題
4.1 一個簡單例子的套用特徵
4.2 求解泊松方程的雅可比方法的通信結構
4.3 一般計算格式的通信開銷
4.4 基本複合系統套用模型
4.5 時間步進模擬和事件驅動模擬
4.6 套用問題的時間結構
4.7 基本複合系統並行模型小結
4.8 元計算問題
4.9 小結
第5章 計算流體力學中的並行計算
5.1 計算流體力學概述
5.2 不可壓流
5.3 可壓流
5.4 小結
第6章 環境和能源科學中的並行計算
6.1 地下流建模
6.2 IPARS和NetSolve格線計算
6.3 IPARS的跟蹤與互動式模擬
6.4 地表水模擬
6.5 利用ADR實現流體和輸運耦合模擬
6.6 小結
第7章 並行計算化學:NWChem綜述
7.1 分子量子化學
7.2 NWChem體系結構
7.3 NWChem中的並行計算支撐模組
7.4 NWChem中的化學相關模組
7.5 NWChem在計算化學領域中的地位
7.6 計算化學算法的共同特徵
7.7 小結
第8章 套用綜述
8.1 數值廣義相對論
8.2 格子量子色動力學的數值模擬
8.3 海洋建模
8.4 地震模擬
8.5 宇宙結構的形成
8.6 計算電磁學
8.7 數據挖掘中的並行算法
8.8 信號和圖像處理中的高性能計算
8.9 確定型Monte Carlo方法及其並行化
8.10 光子源擬實時X射線微成像實驗
8.11 基於WebHLA的部隊建模與仿真元計算環境
8.12 套用的計算結構
8.13 小結
第三部分 各種軟體技術
第9章 軟體技術
9.1 並行編程技術的選擇
9.2 如何獲得正確和有效的執行
9.3 小結
第10章 訊息傳遞和執行緒
10.1 訊息傳遞編程模型
10.2 多執行緒編程
10.3 小結
第11章 並行I/O
11.1 並行I/O框架
11.2 MPI-IO
11.3 並行I/O最佳化
11.4 如何獲得高的I/0性能
11.5 小結
第12章 程式語言與編譯器
12.1 自動並行
12.2 高性能FORTRAN:數據並行編程
12.3openmp:共享存儲並行編程
12.4 Co-Array FORTRAN:SPMD編程
12.5 支持技術
12.6 發展趨勢
12.7 小結
第13章 面向對象的並行庫
13.1 面向對象的並行庫
13.2 Java中的面向對象並行編程
13.3 C++多執行緒計算
13.4 遠程函式調用、全局指針和Java RMI
13.5 基於組件的軟體設計
13.6 小結
第14章 問題求解環境
14.1 NetSolve:基於網路的解法器:
14.2 基於WebFlow對象的Web計算
14.3 WebPDELab
14.4 其他格線計算環境
14.5 小結
第15章 性能調整和程式調試工具
15.1 正確性和性能監測的基本概念
15.2 測試與調試實現上面臨的問題
15.3 編譯器的高度集成
15.4 軟體工具的界面和使用
15.5 軟體工具實例
15.6 面臨的挑戰和開放性問題
15.7 小結
第16章 二維泊松問題
16.1 數學模型
16.2 簡單算法
16.3 泊松方程的並行求解
16.4 增加全局操作
第四部分 關鍵技術與算法
第17章 可重用的軟體和算法
17.1 模板:並行軟體的設計模式
17.2 通信器和中性數據結構
17.3 標準的庫和組件
17.4 自動微分
17.5 模板和數值線性代數
17.6 小結
第18章 高性能科學模擬的圖剖分技術
18.1 格線剖分與圖
18.2 靜態圖剖分技術
18.3 自適應計算的負載平衡
18.4 並行圖剖分
18.5 多約束和多目標圖剖分
18.6 小結
第19章 格線生成
19.1 格線生成的策略和技術
19.2 格線生成過程和幾何預處理
19.3自適應格線生成
19.4 並行格線生成
19.5 格線生成軟體
19.6 格線結構
19.7 與格線生成有關的網址
19.8 幾何/格線生成的主要困難
19.9 未來發展方向
19.10 小結
第20章 模板和數值線性代數
20.1 稠密線性代數算法
20.2 計算機體系結構對性能的影響
20.3 稠密線性代數庫
20.4 稀疏線性代數方法
20.5 稀疏直接法
20.6 稀疏疊代法
20.7 稀疏特徵值問題
20.8 小結
第21章 可擴展的偏微分方程解法軟體
21.1 偏微分方程簡介
21.2 並行偏微分方程計算的難點
21.3 並行求解策略
21.4PETSc軟體中並行求解偏微分方程的方法
21.5 PDE軟體
21.6 小結
第22章 並行連續最最佳化
22.1 局部最最佳化
22.2 全局最最佳化
22.3 直接搜尋方法
22.4 相連子系統最最佳化
22.5 變數與約束分布
22.6 小結
第23章 科學計算中的路徑追蹤及其在AUTO上的實現
23.1 局部連續
23.2 全局連續和度理論
23.3 摺疊和分歧
23.4 實際的路徑追蹤方法
23.5 分歧點處的分支選擇
23.6 計算實例:AUTO
23.7 並行AUTO
23.8 小結
第24章 自動微分
24.1 自動微分概述
24.2 自動微分實現技術
24.3 自動微分軟體
24.4 訊息傳遞並行代碼的自動微分
24.5 自動微分的高級用法
24.6 小結
第五部分 結 論
第25章 結論和未來發展方向
25.1 計算資源
25.2 套用
25.3 軟體
25.4 模板、算法和技術
25.5 未來發展方向
參考文獻
術語表