《世界著名計算機教材精選:算法與並行計算》從基本並行算法的介紹以及並行計算方法的套用兩個方面,對並行算法做了比較全面的闡述。在基本概念與技術部分,不僅給出了串列算法、並行算法以及正則疊代算法的介紹,為了加深讀者對並行計算的理解,《世界著名計算機教材精選:算法與並行計算》還對與硬體相關的技術進行了介紹,包括提升單處理器性能的手段以及並行計算機的體系結構、網際網路等。在此基礎上,介紹了相關的並行軟體工具。當讀者對這些基本的概念有了了解之後,對一些重要的算法以及分析技術進行了介紹。在算法套用部分,分別對一維有限脈衝回響(FIR)數碼濾波器、二維和三維無限脈衝回響(IIR)數碼濾波器、多採樣率抽樣器和中斷器、模式識別、視頻壓縮運動估計、二階加瓦羅域乘法與除法、快速傅立葉變換、線性方程、有限差分法等給出了其並行套用方法,深入討論了其實現方法與技術。
基本介紹
- 書名:世界著名計算機教材精選:算法與並行計算
- 作者:格巴里 (Fayez Gebali)
- 出版社:清華大學出版社
- 頁數:248頁
- 開本:16
- 品牌:清華大學出版社
- 外文名:Algorithms and Parallel Computing
- 譯者:都志輝
- 出版日期:2012年11月1日
- 語種:簡體中文
- ISBN:7302290091, 9787302290094
基本介紹,內容簡介,作者簡介,圖書目錄,
基本介紹
內容簡介
《世界著名計算機教材精選:算法與並行計算》適合計算機工程、電氣工程和計算機科學行業的研究人員和研究生。
作者簡介
作者:(美國)格巴里(Fayez Gebali) 譯者:都志輝
圖書目錄
第1章引言1
第1章引言
1.1概述
1.2自動並行編程
1.3算法
1.3.1算法的有向圖
1.3.2算法的鄰接矩陣A
1.3.3基於子任務的依賴關係對算法進行分類
1.3.4串列算法
1.3.5並行算法
1.3.6 SPA
1.3.7 NSPA
1.3.8 RIA
1.3.9並行算法實現
1.4設計並行計算系統
1.5並行算法和並行體系結構
1.6並行算法與並行體系結構相關
1.7算法的實現:兩個方面的問題
1.8衡量並行計算的優勢
1.8.1加速比
1.8.2通信開銷
1.8.3計算加速比和通信開銷
1.9針對多處理器系統的Amdahl法則
1.10 Gustafson—Barsis法則
1.11並行計算的套用
1.11.1氣象建模
1.11.2 CT
1.11.3計算機流體力學(CFD)
1.12習題
第2章增強單處理器的性能21
2.1概述
2.2提高處理器的時鐘頻率
2.3 ALU的並行化
2.4使用分級存儲器體系
2.4.1 記憶體—高速快取之間的操作
2.4.2高速快取的設計
2.4.3分層高速快取
2.4.4將記憶體塊映射到高速快取行
2.4.5關聯映射
2.4.6組相關映射
2.4.7快取容量對快取命中率的影響
2.5流水線作業
估算流水線作業的速度
2.6超長指令字(VLIW)處理器
2.7指令級並行(ILP)和超標量處理器
2.7.1真實數據依賴:寫後讀(RAW)
2.7.2程式的依賴關係
2.7.3資源衝突
2.7.4輸出依賴性:寫後寫(WAW)
2.7.5反依賴:讀後寫(WAR)
2.8多執行緒處理器
2.9習題
第3章並行計算機
3.1概述
3.2並行計算
3.3共享記憶體的多處理器(統一記憶體訪問UMA)
3.4分散式記憶體多處理器(非統一記憶體訪問NUMA)
3.5 SIMD處理器
3.6脈動式處理器
3.7集群計算
3.8格線計算(雲計算)
3.9多核系統
3.10流多處理器
3.11並行處理器之間的通信
3.11.1通信類型
3.11.2訊息傳遞(MP)通信機制
3.12並行體系結構總結
3.13習題
第4章共享記憶體多處理器
4.1概述
4.2高速快取一致性和記憶體一致性
4.2.1 目錄協定
4.2.2 Snoopy協定
4.3同步和互斥
4.3.1同步:鎖機制
4.3.2同步:互斥量
4.3.3同步:柵欄
4.3.4同步原語的對比
4.4習題
第5章互連網路
5.1概述
5.2邏輯拓撲結構中互連網路的分類
5.2.1匯流排型
5.2.2 星型
5.2.3環型
5.2.4 網型
5.2.5交叉開關網路
5.2.6交叉開關網路的連線及仲裁
5.2.7多級互連網路
5.2.8榕樹(Banyan)網路
5.2.9樹型網路
5.2.10隨機拓撲網路
5.3網際網路交換架構
5.3.1輸入佇列交換器
5.3.2輸出佇列交換器
5.3.3共享緩衝區交換器
5.3.4多輸入佇列交換器
5.3.5多輸出佇列交換器
5.3.6多輸入輸出佇列交換器
5.3.7 VRQ交換器
5.4習題
第6章並發平台
6.1概述
6.2並發平台
6.3 Cilk++
6.3.1 Cilk++並行循環:cilk_for
6.3.2數據競爭和程式不確定性
6.3.3將串列代碼並行化的Cilk++組件
6.3.4使用Cilk++實現矩陣乘法
6.4 OpenMP
6.4.1 OpenMP編譯指導語句
6.4.2編譯指導語句子句
6.4.3 OpenMP負載分配
6.4.4循環指導語句:for
6.4.5循環指導語句:sections
6.4.6運行時庫函式
6.4.7環境變數
6.4.8 0penMP同步
6.5統一計算設備架構(CUDA)
6.5.1定義CUDA中的執行緒、塊和格線
6.5.2將函式交付核心執行
6.5.3主機與CUDA設備間的通信
6.5.4 CUDA執行緒的同步與通信
6.5.5核心和格線
6.5.6塊
6.5.7執行緒
6.5.8 CUDA C語言擴展
第7章針對並行算法的特別技術
7.1概述
7.2定義算法變數
7.3獨立循環調度
7.4依賴循環
7.5針對簡單依賴循環的循環分發方法
7.6循環展開
7.7問題劃分
7.8分而治之(遞歸劃分)策略
7.9流水線
7.10習題
第8章非串列一併行算法
8.1概述
8.2並行化用DAG表示的NSPA算法
8.3分析NSPA的形式化方法
矩陣的冪的意義:矩陣的連通性
8.4辨別算法中的環
8.5提取串列及並行算法的性能參數
8.6相關定理
8.7 串列和並行算法在並行計算機上的性能
8.8習題
第9章z—變換分析
9.1概述
9.2 z—變換的定義
……
第10章依賴關係圖分析
第11章計算幾何分析
第12章實例:一維IIR數字濾波器
第13章案例分析:二維與三維數字濾波器
第14章實例分析:多重速率的採樣器和插值器
第15章案例學習:模式匹配
第16章案例學習:用於視頻壓縮的運動估計
第17章範例分析:2m階伽羅瓦域乘法
第18章範例分析:2m階伽羅瓦域的多項式除法
第19章快速傅立葉變換
第20章求解線性方程組
第21章使用有限差分法求解偏微分方程
參考文獻
第1章引言
1.1概述
1.2自動並行編程
1.3算法
1.3.1算法的有向圖
1.3.2算法的鄰接矩陣A
1.3.3基於子任務的依賴關係對算法進行分類
1.3.4串列算法
1.3.5並行算法
1.3.6 SPA
1.3.7 NSPA
1.3.8 RIA
1.3.9並行算法實現
1.4設計並行計算系統
1.5並行算法和並行體系結構
1.6並行算法與並行體系結構相關
1.7算法的實現:兩個方面的問題
1.8衡量並行計算的優勢
1.8.1加速比
1.8.2通信開銷
1.8.3計算加速比和通信開銷
1.9針對多處理器系統的Amdahl法則
1.10 Gustafson—Barsis法則
1.11並行計算的套用
1.11.1氣象建模
1.11.2 CT
1.11.3計算機流體力學(CFD)
1.12習題
第2章增強單處理器的性能21
2.1概述
2.2提高處理器的時鐘頻率
2.3 ALU的並行化
2.4使用分級存儲器體系
2.4.1 記憶體—高速快取之間的操作
2.4.2高速快取的設計
2.4.3分層高速快取
2.4.4將記憶體塊映射到高速快取行
2.4.5關聯映射
2.4.6組相關映射
2.4.7快取容量對快取命中率的影響
2.5流水線作業
估算流水線作業的速度
2.6超長指令字(VLIW)處理器
2.7指令級並行(ILP)和超標量處理器
2.7.1真實數據依賴:寫後讀(RAW)
2.7.2程式的依賴關係
2.7.3資源衝突
2.7.4輸出依賴性:寫後寫(WAW)
2.7.5反依賴:讀後寫(WAR)
2.8多執行緒處理器
2.9習題
第3章並行計算機
3.1概述
3.2並行計算
3.3共享記憶體的多處理器(統一記憶體訪問UMA)
3.4分散式記憶體多處理器(非統一記憶體訪問NUMA)
3.5 SIMD處理器
3.6脈動式處理器
3.7集群計算
3.8格線計算(雲計算)
3.9多核系統
3.10流多處理器
3.11並行處理器之間的通信
3.11.1通信類型
3.11.2訊息傳遞(MP)通信機制
3.12並行體系結構總結
3.13習題
第4章共享記憶體多處理器
4.1概述
4.2高速快取一致性和記憶體一致性
4.2.1 目錄協定
4.2.2 Snoopy協定
4.3同步和互斥
4.3.1同步:鎖機制
4.3.2同步:互斥量
4.3.3同步:柵欄
4.3.4同步原語的對比
4.4習題
第5章互連網路
5.1概述
5.2邏輯拓撲結構中互連網路的分類
5.2.1匯流排型
5.2.2 星型
5.2.3環型
5.2.4 網型
5.2.5交叉開關網路
5.2.6交叉開關網路的連線及仲裁
5.2.7多級互連網路
5.2.8榕樹(Banyan)網路
5.2.9樹型網路
5.2.10隨機拓撲網路
5.3網際網路交換架構
5.3.1輸入佇列交換器
5.3.2輸出佇列交換器
5.3.3共享緩衝區交換器
5.3.4多輸入佇列交換器
5.3.5多輸出佇列交換器
5.3.6多輸入輸出佇列交換器
5.3.7 VRQ交換器
5.4習題
第6章並發平台
6.1概述
6.2並發平台
6.3 Cilk++
6.3.1 Cilk++並行循環:cilk_for
6.3.2數據競爭和程式不確定性
6.3.3將串列代碼並行化的Cilk++組件
6.3.4使用Cilk++實現矩陣乘法
6.4 OpenMP
6.4.1 OpenMP編譯指導語句
6.4.2編譯指導語句子句
6.4.3 OpenMP負載分配
6.4.4循環指導語句:for
6.4.5循環指導語句:sections
6.4.6運行時庫函式
6.4.7環境變數
6.4.8 0penMP同步
6.5統一計算設備架構(CUDA)
6.5.1定義CUDA中的執行緒、塊和格線
6.5.2將函式交付核心執行
6.5.3主機與CUDA設備間的通信
6.5.4 CUDA執行緒的同步與通信
6.5.5核心和格線
6.5.6塊
6.5.7執行緒
6.5.8 CUDA C語言擴展
第7章針對並行算法的特別技術
7.1概述
7.2定義算法變數
7.3獨立循環調度
7.4依賴循環
7.5針對簡單依賴循環的循環分發方法
7.6循環展開
7.7問題劃分
7.8分而治之(遞歸劃分)策略
7.9流水線
7.10習題
第8章非串列一併行算法
8.1概述
8.2並行化用DAG表示的NSPA算法
8.3分析NSPA的形式化方法
矩陣的冪的意義:矩陣的連通性
8.4辨別算法中的環
8.5提取串列及並行算法的性能參數
8.6相關定理
8.7 串列和並行算法在並行計算機上的性能
8.8習題
第9章z—變換分析
9.1概述
9.2 z—變換的定義
……
第10章依賴關係圖分析
第11章計算幾何分析
第12章實例:一維IIR數字濾波器
第13章案例分析:二維與三維數字濾波器
第14章實例分析:多重速率的採樣器和插值器
第15章案例學習:模式匹配
第16章案例學習:用於視頻壓縮的運動估計
第17章範例分析:2m階伽羅瓦域乘法
第18章範例分析:2m階伽羅瓦域的多項式除法
第19章快速傅立葉變換
第20章求解線性方程組
第21章使用有限差分法求解偏微分方程
參考文獻