內容簡介
並行計算基礎,包括:現實世界中的並行、並行與分散式計算的概念、來自套用領域的需求、並行程式設計的基本思想;並行計算機體系結構,包括:並行計算機傳統體系結構及其比較與分析、多核cpu關鍵技術與未來發展趨勢、gpu與gpu集群的體系結構、cellbe關鍵技術及發展情況與典型實例、超級計算機等;並行編程模型與語言,包括:mpi、openmp、mapreduce、cuda、cellbe上的編程模型與語言等;大規模稀疏線性方程組求解的並行化,包括稀疏線性方程組及其求解方法、大規模稀疏線性方程組求解案例、helmholtz方程計算的並行化、實際測試結果與性能最佳化。
《並行計算機及編程基礎》主要面向從事高性能計算的程式設計師與工程師,使用並行計算機與並行技術加速專業領域計算的科研人員,以及對高性能計算感興趣的程式設計師。開設相關課程的高等院校與科研機構也可選用《並行計算機及編程基礎》作為教材或參考書。
圖書目錄
第1章 並行計算基礎
1.1 背景
1.1.1 現實世界中的並行
1.1.2 並行與分散式計算的概念
1.1.3 來自套用領域的需求
1.2 並行編程模型
1.2.1 適用於共享記憶體的多執行緒編程模型
1.2.2 適用於分布記憶體的訊息傳遞編程模型
1.2.3 混合編程模型
1.3 並行程式設計的基本思想
本章 小結
參考文獻
第2章 並行計算機體系結構
2.1 並行計算機傳統體系結構
2.1.1 共享存儲與分布存儲
2.1.2 並行計算機傳統體系結構的發展
2.1.3 smp對稱式共享存儲器多處理機
2.1.4 dsm分布共享存儲多處理機
2.1.5 mpp大規模並行處理機系統
2.1.6 機群系統
2.1.7 並行計算機傳統體系結構的比較與分析
本節小結
2.2 多核cpu
2.2.1 處理器架構
2.2.2 單核處理器發展瓶頸
2.2.3單晶片多處理器架構
2.2.4 多核處理器關鍵技術
2.2.5 多核處理器未來發展趨勢
本節小結
2.3 gpu
2.3.1 gpu概述
2.3.2 gpu發展簡介
2.3.3 gpu硬體架構
2.3.4 gpu-cpu異構體系結構
2.3.5 fermi架構
2.3.6 gpu集群
本節小結
2.4 cellbe
2.4.1 cellbe概述
2.4.2 cellbe關鍵技術
2.4.3 cellbe設計特點
2.4.4 發展情況與典型實例
本節小結
2.5 超級計算機
2.5.1 超級計算機的發展與規律
2.5.2 超級計算機的現狀
2.5.3 超級計算機面臨的挑戰
本節小結
參考文獻
第3章 並行編程模型與語言
3.1 mpi
3.1.1 mpi簡介
3.1.2 第一個mpi程式
3.1.3 點對點通信
3.1.4 集合通信
3.1.5 並行i/o
3.1.6 mpi套用實例
本節小結
3.2 openmp
3.2.1 openmp簡介
3.2.2 第一個openmp程式
3.2.3 編譯指導語句
3.2.4 數據共享屬性子句
3.2.5 運行時庫函式
3.2.6 環境變數
3.2.?運行及調試
3.2.8 openmp編程實例
本節小結
3.3 mapreduce
3.3.1 mapreduce簡介
3.3.2 mapreduce實例
3.3.3 mapreduce基本原理介紹
3.3.4 容錯
3.3.5 mapreduce編程實例、運行與分析
本節小結
3.4 cuda
3.4.1 簡介
3.4.2 cuda的安裝和配置
3.4.3 第一個cuda程式
3.4.4 cuda編譯器
3.4.5 cuda常用api
3.4.6 cuda編程模型
3.4.7 cuda存儲器模型
3.4.8 編程實例的運行、分析與最佳化
本節小結
3.5 cellbe上的編程模型與語言
3.5.1 cellbe簡介
3.5.2 第——個cellbe程式
3.5.3 cellbe編程模型簡介
3.5.4 性能分析與最佳化
本節小結
參考文獻
第4章 並行套用實例——大規模稀疏線性方程組求解的並行化
4.1 稀疏線性方程組及其求解方法
4.1.1 稀疏線性方程組的套用
4.1.2 大規模稀疏線性方程組求解的疊代算法
4.1.3 krylov子空間疊代法
4.1.4 預處理技術簡介
4.2 大規模稀疏線性方程組求解案例
4.2.1 helmholtz方程及其計算特徵
4.2.2 helmholtz方程的求解
4.3 helmholtz方程計算的並行化
4.3.1 並行性分析
4.3.2 通信模式
4.4 實際測試結果與性能最佳化
4.4.1 測試環境與測試用例
4.4.2 測試結果及其分析
本章 小結
參考文獻