《多核程式設計》是2007年清華大學出版社出版的圖書,作者是多核系列教材編寫組。
該書主要以介紹多核體系結構、多核處理器、硬體支持、系統軟體的現狀,詳細講解了在多核平台上進行軟體開發的理論與方法為主。
基本介紹
- 書名:多核程式設計
- 作者:多核系列教材編寫組
- 出版社: 清華大學出版社
- 出版時間:2007年
版權資訊,內容簡介,目錄,
版權資訊
書 名: 多核程式設計
作 者:多核系列教材編寫組
出版時間: 2007
ISBN: 9787302158356
開本: 16
定價: 36.00 元
內容簡介
本書介紹了多核體系結構、多核處理器、硬體支持、系統軟體的現狀,詳細講解了在多核平台上進行軟體開發的理論與方法。從硬體入手介紹多核計算機的發展,介紹了並行算法與常用算法,之後以執行緒為出發點介紹多執行緒程式設計基礎理論。然後結合Windows平台與Linux平台及多核廠家提供的軟體調優工具,詳細介紹了多核程式設計與調優方法。
除此以外,還詳細介紹了OpenMP與MPI利用多核平台進行並行程式設計的方法等。
本書涵蓋了多核軟體設計各個方面,通過詳細的例子引導讀者迅速學習多核平台上的程式設計技術。本書適於計算機相關專業方向的學生與工程師了解多核基礎原理與進展。
目錄
第1章多核技術導論
1.1微處理器發展史
1.1.1計算機與微處理器
1.1.24位、8位與16位微處理器
1.1.332位微處理器
1.2並行計算機
1.2.1並行處理思想與弗林分類
1.2.2超級計算機
1.3超大規模積體電路與系統晶片發展
1.3.1超大規模積體電路技術
1.3.2系統晶片
1.4片上多核處理器架構
1.4.1多核晶片
1.4.2片上多核處理器體系結構
1.4.3典型多核晶片架構
1.5晶片組對多核的支持
1.5.1固件
1.5.2EFI對多核支持
1.6作業系統對多核處理器的支持方法
1.6.1調度與中斷
1.6.2輸入輸出系統
1.6.3存儲管理與檔案系統
1.6.4虛擬化技術
1.6.5典型的支持多核的作業系統
本章小結
第2章並行計算基礎
2.1並行計算機體系結構
2.1.1多級存儲體系結構
2.1.2並行計算機訪存模型
2.2並行計算模型
2.2.1SIMD同步並行計算模型
2.2.2MIMD異步並行計算模型
2.3進程
2.3.1進程
2.3.2進程間通信
2.3.3影響通信系統性能的因素
2.4執行緒
2.5並行編程環境
2.6程式語言與編譯器
2.6.1自動並行
2.6.2HPF:數據並行編程
2.6.3OpenMP:共享存儲並行編程
2.6.4小結
2.7並行計算性能評測
2.7.1並行程式執行時間
2.7.2加速比性能定律
2.7.3並行程式性能評價方法
2.7.4程式性能最佳化
2.8常用並行數值算法
2.8.1並行矩陣乘法
2.8.2線性代數方程組並行求解方法
2.8.3快速傅立葉變換
2.9並行編譯器
2.9.1流分析
2.9.2代碼最佳化
2.9.3代碼生成
本章小結
第3章執行緒的基本概念
3.1多執行緒的概念
3.2用戶級執行緒和核心級執行緒
3.3多執行緒的映射模型
3.4執行緒的生命周期
3.5多執行緒環境下的進程控制語義
3.6執行緒的同步
3.6.1互斥量
3.6.2信號量
3.6.3條件變數
3.6.4鎖的粒度
3.6.5死鎖、餓死與活鎖
本章小結
第4章Windows多執行緒編程及調優
4.1Windows執行緒庫介紹
4.2使用Win32執行緒API
4.2.1執行緒創建
4.2.2執行緒管理
4.2.3執行緒終結
4.2.4Win32多執行緒的實現
4.3執行緒執行和資源存取
4.3.1Win32執行緒同步的實現
4.3.2MFC執行緒同步的實現
4.3.3NetFramework執行緒同步的實現
4.4多執行緒調試與最佳化技術
4.4.1調試器中的數據
4.4.2跟蹤點/斷點
4.4.3執行緒命名
4.4.4調試多執行緒程式
4.4.5調試與最佳化工具
本章小結
第5章Linux多執行緒編程
5.1POSIX執行緒庫Pthreads介紹
5.2POSIXPthreads庫提供的基本執行緒的操作
5.2.1執行緒的創建
5.2.2執行緒的退出
5.2.3等待執行緒結束
5.2.4執行緒的分離
5.2.5獲得當前執行緒標誌
5.2.6使用Pthreads基本函式編寫的一個程式
5.3執行緒的屬性
5.4執行緒互斥和同步
5.4.1mutex
5.4.2條件變數
5.4.3執行緒的撤銷
5.4.4POSIX信號量
5.4.5執行緒和信號處理
5.5使用GDB調試執行緒以及執行緒的調優
5.6使用Pthreads庫的綜合例子
本章小結
第6章OpenMP多執行緒編程及性能最佳化
6.1OpenMP編程簡介
6.1.1OpenMP多執行緒編程發展概況
6.1.2OpenMP多執行緒編程基礎
6.1.3使用MicrosoftVisualStudio.Net2005編寫OpenMP程式
6.1.4小結
6.2OpenMP多執行緒應用程式編程技術
6.2.1循環並行化
6.2.2並行區域編程
6.2.3執行緒同步
6.3OpenMP多執行緒應用程式性能分析
6.3.1影響性能的主要因素
6.3.2OpenMP程式性能分析實例
本章小結
第7章MPI編程及性能最佳化
7.1MPI簡介
7.1.1MPI及其歷史
7.1.2典型MPI實現簡介
7.1.3MPI程式特點
7.1.4本章內容組織
7.2MPICH的安裝和配置
7.2.1在Linux上安裝和配置MPICH
7.2.2在Windows上安裝MPICH2
7.3MPI編程基礎
7.3.1簡單的MPI程式示例
7.3.2MPI程式的4個基本函式
7.3.3MPI的點對點通信
7.3.4訊息管理7要素
7.3.5統計時間
7.3.6錯誤管理
7.3.7小結
7.4MPI群集通信
7.4.1同步
7.4.2廣播
7.4.3聚集
7.4.4播撒
7.4.5擴展的聚集和播撒操作
7.4.6全局交換
7.4.7規約與掃描
7.4.8簡單示例
7.4.9小結
7.5MPI性能分析與最佳化舉例
7.5.1通信開銷的測試
7.5.2選取計算粒度
7.5.3聚合訊息
7.5.4解決負載均衡問題
7.5.5小結
本章小結
第8章多核軟體工具介紹
8.1C++編譯器
8.1.1編譯器對多核的支持
8.1.2C++編譯器實驗
8.2VTune性能分析器
8.2.1性能分析器功能與使用方法
8.2.2性能分析器實驗
8.3MKL數學核心函式館
8.3.1MKL數學核心函式館功能與特性
8.3.2MKL數學核心函式館性能
8.3.3MKL數學核心函式館實驗
8.4ThreadChecker執行緒檢查器
8.4.1執行緒檢查器功能與使用
8.4.2執行緒檢查器實驗
8.5ThreadProfiler執行緒檔案器
8.5.1執行緒檔案器的功能與使用
8.5.2執行緒檔案器實驗
參考文獻
……