並行計算與實現技術
![]() |
《並行計算與實現技術》,遲學斌,王彥棢,王珏,劉芳 著,出版社: 科學出版社。
書籍是知識[1]的源泉,只有書籍才能解救人類,只有知識才能使我們變成精神上堅強的、真正的、有理性[2]的人。唯有這種人能真誠地熱愛人,尊重人的勞動,衷心地讚賞人類永不停息的偉大勞動所創造的最美好的成果。
內容簡介
《並行計算與實現技術》系統地介紹了並行計算的基礎知識和相關算法,並分別介紹了目前主流的並行編程語言MPI、OpenMP以及CUDA的相關語法、編程以及優化技巧等知識,是並行計算程序開發人員快速入門的一本較全面的教材和參考書。 《並行計算與實現技術》共6章。第1章介紹並行計算的基礎知識,闡明了並行計算的起源、發展和現狀以及相關的基本概念;第2章介紹部分基礎的並行算法,包括區域分解、功能分解、流水線等六種方法,並幫助讀者掌握並行算法設計的基本原則;第3章針對矩陣乘法、線性方程組求解、經典迭代算法的並行化、特徵值求解這四類典型的數學問題,深入介紹了對應的經典的並行計算算法;第4章和第5章分別介紹了目前使用最廣泛的消息傳遞編程語言MPI和共享存儲並行編程語言OpenMP的相關知識和編程技巧;最後一章介紹了GPU並行加速實現技術,並重點介紹了GPU上使用最廣泛的CUDA語言的相關語法、硬件架構、優化技巧以及與MPI/OpenMP的混合編程方法。
目錄
第1章 並行計算基礎
1.1 什麼是並行計算
1.2 為什麼需要並行計算
1.3 並行計算機的發展
1.4 並行算法複雜性分析
1.5 並行計算的基本概念
第2章 基礎並行算法
2.1 並行算法設計基本原則
2.2 區域分解方法
2.3 功能分解方法
2.4 流水線技術
2.5 分而治之方法
2.6 同步並行算法
2.7 異步並行算法
第3章 經典算法的並行計算
3.1 矩陣乘並行計算方法
3.1.1 矩陣捲簾存儲方式
3.1.2 並行矩陣乘法
3.2 線性方程組並行求解方法
3.2.1 分布式系統的並行LU分解算法
3.2.2 三角方程組的並行解法
3.3 經典迭代算法的並行化
3.3.1 Jacobi迭代法
3.3.2 Gauss-Seidel迭代法
3.4 特徵值問題並行計算方法
3.4.1 對稱三對角矩陣特徵值問題
3.4.2 Householder變換
3.4.3 化對稱矩陣為三對角矩陣
第4章 消息傳遞編程接口MPI
4.1 並行環境函數
4.2 MPI進程控制函數
4.2.1 MPI進程組操作函數
4.2.2 MPI通信子操作
4.3 點到點通信函數
4.3.1 阻塞式通信函數
4.3.2 非阻塞式通信函數
4.3.3 特殊的點到點通信函數
4.3.4 MPI的通信模式
4.4 自定義數據類型
4.4.1 用戶定義的數據類型
4.4.2 MPI的數據打包與拆包
4.5 聚合通信函數
4.5.1 障礙同步
4.5.2 單點與多點通信函數
4.5.3 多點與多點通信函數
4.6 全局歸約操作函數
第5章 共享存儲並行編程OpenMP
5.1 OpenMP發展歷程
5.2 OpenMP執行模型和存儲模型
5.3 OpenMP指導語句
5.3.1 parallel結構
5.3.2 工作共享結構
5.3.3 數據共享屬性子句
5.3.4 其他子句
5.3.5 Tasking結構
5.3.6 結構嵌套規則
5.4 OpenMP運行時函數庫
5.4.1 運行時函數定義
5.4.2 執行環境函數
5.4.3 鎖函數
5.4.4 時間函數
5.5 OpenMP環境變量
5.6 OpenMP在MIC架構上的優化技術
5.6.1 offload模式下將Host環境傳播至MIC(target)計算節點
5.6.2 offload模式提供了多種關鍵字來實現多功能的需求
5.6.3 查看編譯器對程序中OpenMP區域的優化處理
5.6.4 OpenMP在Offload及Native模式下的不同缺省值
5.6.5 設置OpenMP的棧空間大小
5.6.6 分配部分計算資源給運行的程序
第6章 GPU並行加速實現技術
6.1 GPU以及GPGPU發展簡介
6.2 CUDA並行編程模型
6.2.1 線程結構
6.2.2 線程調度
6.3 CUDA軟件體系
6.3.1 CUDA函數定義以及變量類型限定符
6.3.2 CUDA算數指令與數學函數
6.3.3 CUDA內置函數
6.3.4 CUDA軟件體系結構
6.3.5 CUDA程序的編譯
6.4 CUDA存儲器模型
6.4.1 寄存器
6.4.2 全局存儲器
6.4.3 本地存儲器
6.4.4 共享存儲器
6.4.5 常量存儲器
6.4.6 紋理存儲器
6.5 CUDA程序的優化
6.5.1 處理器利用率優化
6.5.2 指令吞吐量優化
6.5.3 存儲器訪問優化
6.5.4 矩陣乘法程序優化示例
6.5.5 矩陣轉置程序優化示例
6.6 MPI/CUDA混合編程
6.6.1 MPI/CUDA混合編程模型
6.6.2 GPU集群上的數據傳輸模型
6.6.3 MPI/CUDA混合編程以及編譯運行示例
6.6.4 MPI/OpenMP/CUDA混合編程
6.6.5 異構平台數學庫MAGMA簡介
參考文獻
索引
《信息與計算科學叢書》已出版書目
參考文獻
- 移至 ↑ 什麼是知識?,搜狐,2016-08-13
- 移至 ↑ 理性,是解決絕大多數問題的關鍵,搜狐,2017-03-28