OpenMP核心技術指南( 簡體 字) | |
作者:蒂莫西·G. 馬特森(Timothy G. Mattson),何云(Yun (Helen) He),愛麗絲·E. 康尼西(Alice E. Koniges) | 類別:1. -> 程式設計 -> 綜合 |
出版社:機械工業出版社 | 3dWoo書號: 54774 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:6/1/2021 | |
頁數:212 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111684343 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第一部分 做好學習OpenMP的準備
第1章 并行計算 2 1.1 并行計算的基本概念 2 1.2 并發性的興起 4 1.3 并行硬件 5 1.3.1 多處理器系統 5 1.3.2 圖形處理單元 8 1.3.3 分布式內存集群 10 1.4 多處理器計算機的并行軟件 10 第2章 性能語言 13 2.1 基礎:FLOPS、加速比和并行效率 13 2.2 阿姆達爾定律 16 2.3 并行開銷 17 2.4 強擴展與弱擴展 19 2.5 負載均衡 19 2.6 用roofline模型理解硬件 21 第3章 什么是OpenMP 23 3.1 OpenMP的歷史 23 3.2 通用核心 25 3.3 OpenMP的主要組件 26 第二部分 OpenMP通用核心 第4章 線程和OpenMP編程模型 31 4.1 OpenMP概述 31 4.2 OpenMP 程序的結構 31 4.3 線程和fork-join模式 34 4.4 使用線程 38 4.4.1 SPMD設計模式 39 4.4.2 偽共享 43 4.4.3 同步 45 4.5 結束語 49 第5章 并行化循環 50 5.1 共享工作循環構造 51 5.2 組合式并行共享工作循環構造 53 5.3 歸約 54 5.4 循環調度 56 5.4.1 靜態調度 56 5.4.2 動態調度 57 5.4.3 選擇一個調度 59 5.5 隱式柵欄和nowait子句 61 5.6 帶有并行循環共享工作的Pi程序 63 5.7 一種循環級并行策略 64 5.8 結束語 66 第6章 OpenMP數據環境 67 6.1 缺省存儲屬性 68 6.2 修改存儲屬性 70 6.2.1 shared子句 70 6.2.2 private子句 72 6.2.3 firstprivate子句 73 6.2.4 default子句 74 6.3 數據環境的例子 74 6.3.1 數據作用域測試 75 6.3.2 曼德勃羅集的面積 76 6.3.3 重新審視Pi循環的例子 79 6.4 數組和指針 80 6.5 結束語 81 第7章 OpenMP任務 83 7.1 任務的必要性 83 7.2 顯式任務 86 7.3 第一個例子:薛定諤程序 87 7.4 single構造 88 7.5 使用任務 89 7.5.1 什么時候任務完成 90 7.6 任務的數據環境 91 7.6.1 任務的缺省數據作用域 91 7.6.2 利用任務重新審視鏈表程序 93 7.7 利用任務的基礎設計模式 93 7.7.1 分而治之模式 95 7.8 結束語 99 第8章 OpenMP內存模型 100 8.1 重新審視內存層次結構 101 8.2 OpenMP通用核心內存模型 103 8.3 使用共享內存 106 8.4 結束語 108 第9章 通用核心回顧 110 9.1 管理線程 111 9.2 共享工作構造 111 9.3 組合式并行共享工作循環構造 113 9.4 OpenMP任務 113 9.5 同步和內存一致性模型 114 9.6 數據環境子句 115 9.7 歸約子句 116 9.8 環境變量和運行時庫例程 117 第三部分 超越通用核心 第10章 超越通用核心的多線程 121 10.1 用于OpenMP通用核心構造的附加子句 121 10.1.1 并行構造 122 10.1.2 共享工作循環構造 124 10.1.3 任務構造 129 10.2 通用核心中缺失的多線程功能 133 10.2.1 threadprivate 133 10.2.2 master 135 10.2.3 atomic 136 10.2.4 OMP_STACKSIZE 137 10.2.5 運行時庫例程 138 10.3 結束語 140 第11章 同步和OpenMP內存模型 141 11.1 內存一致性模型 142 11.2 成對同步 146 11.3 鎖以及如何使用它 151 11.4 C++內存模型和OpenMP 153 11.5 結束語 156 第12章 超越OpenMP通用核心的硬件 157 12.1 非統一內存訪問系統 158 12.1.1 在NUMA系統上工作 159 12.1.2 嵌套并行構造 168 12.1.3 檢查線程親和力 171 12.1.4 小結:線程親和力和數據局部性 173 12.2 SIMD 173 12.3 設備構造 180 12.4 結束語 184 第13章 繼續OpenMP的學習 186 13.1 來自ARB的程序員資源 186 13.2 如何閱讀OpenMP規范 188 13.2.1 帶有所有正式術語的OpenMP 188 13.3 OpenMP規范的結構 191 13.4 結束語 193 術語表 194 OpenMP日益增加的復雜性使其學習門檻不斷升高,本書回歸OpenMP zui初的設計哲學,提煉出大多數程序員常用的21項核心知識——稱為OpenMP“通用核心”,為零基礎讀者搭建了從通用核心到OpenMP多線程編程的高效學習階梯。本書由OpenMP技術專家撰寫,內容涵蓋并行計算的核心設計模式、共享工作循環構造、OpenMP數據環境、OpenMP任務和OpenMP內存模型等內容,采用編程驅動的方式,借助復雜性逐漸提高的實例來逐步引入新概念。此外,本書網站為讀者免費提供各類代碼示例和練習題。
|