發表於2024-12-28
書[0名0]: | 並行算[0法0]設計與性能[0優0]化[按需印刷]|4706195 |
圖書定價: | 59元 |
圖書作者: | 劉文誌 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2015-05-01 0:00:00 |
ISBN號: | 9787111501022 |
開本: | 16開 |
頁數: | 202 |
版次: | 1-1 |
作者簡介 |
劉文誌 花[0名0]風辰,畢業於中[0國0]科[0學0]院研究生院,聞[0名0]於並行計算江湖,尤善異構並行計算(X86、ARM、GPU、APU、PHI)和[0大0]規模集群計算相關技術,有7年相關經驗,涉及圖像處理、計算 [1機1] 視覺、數據挖掘和石油勘探。曾任英偉達並行計算工程師(協助建立英偉達北京CUDA團隊)、百度在綫高級研發工程師(協助建立百度深度[0學0]習實驗室異構計算團隊)。 |
內容簡介 |
本書是"並行計算與性能[0優0]化"係列的[0第0]1本,主要講解瞭並行計算的核心理論、算[0法0]設計和實踐,以及代碼的性能[0優0]化,[0第0]2本和[0第0]3本則涵蓋瞭並行編程方[0法0]與[0優0]化實踐、科[0學0]計算與企業級應用的並行[0優0]化等重要主題,這些內容被許多開發人員視為"不傳之秘"。本書作者是[0國0]內的並行計算專傢,曾任英偉達並行計算工程師和百度在綫高級研發工程師,在該[0領0]域的經驗和修為[0極0]為深厚,他毫不吝嗇地將自己多年的積纍呈現在這3本書中,得到瞭百度深度[0學0]習研究院"傑齣科[0學0]傢"吳韌的高度[0評0]價和強烈推薦。 本書結閤[0大0]量示例和僞代碼,詳細介紹瞭單核代碼的性能[0優0]化和嚮量化技術,在現代多核處理器上如何設計並行算[0法0],以及基於GPU和移動處理器(ARM)的代碼性能[0優0]化與並行化。 全書12章,邏輯上分為四[0大0]部分: ·並行計算理論基礎 主要介紹並行現狀、與並行計算緊密相關的現代處理器的技術與特點,算[0法0]與程序性能的度量和分析的新舊標準及實用工具,以及代碼依賴關係的分析和去除處理。 ·代碼[0優0]化 [0首0]先從係統、應用、算[0法0]、函數、循環、語句和指令7[0大0]維度講解瞭常見的串行代碼[0優0]化手段,然後講解瞭如何通過多種方式將現有的串行代碼嚮量化和並行化,以提高效率和利用率。 ·並行算[0法0]設計考量 主要講解瞭如何設計[0優0]良的並行算[0法0]以及將並行算[0法0]映射到具體硬件上,涵蓋常見的並行編程環境、並行算[0法0]設計方[0法0]、並行算[0法0]的缺陷、編程模式實踐、一般準則,等等。 ·遺留代碼的並行化 主要講解瞭如何找齣軟件的計算熱點,如何閤理地選擇部分並行或者整體並行,然後將實現後的代碼嵌入原軟件,以提高企業現有代碼的利用率,並以實例加以說明。 |
目錄 |
前言 [0第0]1章 緒論 1 1.1 並行和嚮量化的作用 2 1.2 為什麼要並行或嚮量化 3 1.3 為什麼嚮量化或並行難 4 1.4 並行的替代方[0法0] 9 1.5 進程、綫程與處理器 10 1.6 並行硬件平颱 13 1.7 嚮量化和多核技術不是萬能的 17 1.8 本章小結 18 [0第0]2章 現代處理器特性 19 2.1 指令級並行 20 2.1.1 指令流水綫 20 2.1.2 亂序執行 22 2.1.3 指令多發射 22 2.1.4 分支預測 23 2.1.5 VLIW 23 2.2 嚮量化並行 24 2.2.1 SIMD 24 2.2.2 SIMT 25 2.3 綫程級並行 25 2.3.1 內核綫程和用戶綫程 26 2.3.2 多綫程編程庫 26 2.3.3 多核上多綫程並行要注意的問題 27 2.3.4 多綫程程序在多核和單核上運行的不同 28 2.4 緩存 28 2.4.1 緩存層次結構 29 2.4.2 緩存一緻性 30 2.4.3 緩衝不命中 31 2.4.4 寫緩存 32 2.4.5 越過緩存 33 2.4.6 硬件預取 34 2.4.7 緩存結構 34 2.4.8 映射策略 35 2.5 虛擬存儲器和TLB 36 2.6 NUMA技術 37 2.7 本章小結 39 [0第0]3章 算[0法0]性能和程序性能的度量與分析 40 3.1 算[0法0]分析的性能度量標準 40 3.1.1 時間復雜度與空間復雜度 41 3.1.2 實現復雜度 43 3.2 程序和指令的性能度量標準 47 3.3 程序性能[0優0]化的度量標準 52 3.3.1 加速比與並行效率 52 3.3.2 Amdahl定律和Gustafson定律 53 3.4 程序性能分析實用工具 54 3.5 本章小結 60 [0第0]4章 串行代碼性能[0優0]化 61 4.1 係統級彆 62 4.2 應用級彆 65 4.3 算[0法0]級彆 68 4.4 函數級彆 71 4.4.1 函數調用參數 71 4.4.2 內聯小函數 72 4.5 循環級彆 72 4.5.1 循環展開 72 4.5.2 循環纍積 73 4.5.3 循環閤並 74 4.5.4 循環拆分 74 4.6 語句級彆 75 4.6.1 減少內存讀寫 75 4.6.2 選用盡量小的數據類型 76 4.6.3 結構體對齊 77 4.6.4 錶達式移除 78 4.6.5 分支[0優0]化 78 4.6.6 [0優0]化交換性能 82 4.7 指令級彆 83 4.8 本章小結 84 [0第0]5章 依賴分析 86 5.1 指令級依賴 87 5.1.1 結構化依賴 87 5.1.2 數據依賴 88 5.1.3 控製依賴 89 5.2 循環級依賴 90 5.2.1 循環數據依賴 90 5.2.2 循環控製依賴 92 5.3 寄存器重命[0名0] 93 5.4 本章小結 94 [0第0]6章 並行編程模型及環境 95 6.1 並行編程模型 95 6.1.1 指令級並行 96 6.1.2 嚮量化並行 97 6.1.3 易並行 98 6.1.4 任務並行 99 6.1.5 數據並行 100 6.1.6 循環並行化 101 6.1.7 流水綫並行 102 6.1.8 區域分解並行 103 6.1.9 隱式和顯式並行化 104 6.1.10 SPMD 104 6.1.11 共享存儲器並行 105 6.1.12 分布式存儲器並行 105 6.2 常見並行編程環境 105 6.2.1 MPI 106 6.2.2 OpenMP 108 6.2.3 fork/pthread 108 6.2.4 CUDA 109 6.2.5 OpenCL 109 6.2.6 OpenACC 110 6.2.7 NEON內置函數 111 6.2.8 SSE/AVX內置函數 111 6.3 本章小結 111 [0第0]7章 並行算[0法0]設計方[0法0] 114 7.1 劃分 114 7.1.1 分而治之 115 7.1.2 劃分原則 116 7.1.3 常見劃分方[0法0] 116 7.1.4 並行性和局部性 117 7.2 通信 118 7.2.1 操作的原子性 119 7.2.2 結果的可見性 120 7.2.3 順序一緻性 121 7.2.4 函數的可重入與綫程安全 122 7.2.5 volatile關鍵字 122 7.2.6 鎖 123 7.2.7 臨界區 126 7.2.8 原子操作 127 7.2.9 柵欄 128 7.3 結果歸並 129 7.4 負載均衡 129 7.4.1 靜態負載均衡 130 7.4.2 動態負載均衡 130 7.4.3 動態負載均衡算[0法0]的一般步驟 131 7.5 本章小結 133 [0第0]8章 並行算[0法0]缺陷 134 8.1 啓動結束時間 134 8.2 負載均衡 135 8.3 競寫 136 8.4 鎖 136 8.4.1 死鎖 137 8.4.2 活鎖 139 8.5 餓死 140 8.6 僞共享 140 8.7 原子操作 141 8.8 存儲器柵欄 142 8.9 緩存一緻性 142 8.10 順序一緻性 143 8.11 volatile同步錯誤 143 8.12 本章小結 144 [0第0]9章 並行編程模式實踐 146 9.1 map模式 147 9.2 reduce模式 149 9.3 結閤map和reduce模式 152 9.4 scan模式 155 9.5 zip/unzip 模式 156 9.6 流水綫模式 159 9.7 本章小結 161 [0第0]10章 如何並行遺留代碼 162 10.1 找齣軟件的計算熱點 163 10.2 判斷是否並行化熱點 164 10.3 設計算[0法0]並實現 166 10.3.1 選擇何種工具進行嚮量化或並行化 166 10.3.2 重構熱點代碼 167 10.3.3 依據硬件實現算[0法0] 168 10.4 將實現後的代碼嵌入原軟件 169 10.4.1 混閤編譯 169 10.4.2 動態鏈接庫 170 10.5 示例:如何並行化word2vec 171 10.6 本章小結 174 [0第0]11章 [0超0]級並行 176 11.1 [0超0]級並行方式編程 176 11.1.1 進程+綫程 177 11.1.2 進程+GPU綫程 178 11.1.3 綫程+GPU綫程 181 11.1.4 綫程+嚮量指令 181 11.1.5 進程+綫程+嚮量指令 182 11.1.6 進程+綫程+GPU綫程 183 11.2 矩陣乘[0法0] 184 11.2.1 多 [1機1] CPU矩陣乘[0法0] 184 11.2.2 單 [1機1] 多GPU矩陣乘[0法0] 187 11.2.3 多 [1機1] 多GPU矩陣乘[0法0] 188 11.3 本章小結 189 [0第0]12章 並行算[0法0]設計的一般準則 190 12.1 並行算[0法0]設計14準則 190 12.2 本章小結 194 附錄A 整型數據與浮點數據 195 |
編輯推薦 |
並行計算[0領0]域著[0名0]專傢撰寫,百度深度[0學0]習研究院"傑齣科[0學0]傢"吳韌鼎力推薦 結閤[0大0]量示例和僞代碼,全麵講解如何通過並行算[0法0]設計實現單核/多核處理器、GPU和移動處理器的性能[0優0]化及相關的並行化秘技,並[0首0]次提齣實現復雜度的全新性能度量標準 |
[按需印刷]並行算法設計與性能優化 計算機與互聯網 書籍|4706195 下載 mobi pdf epub txt 電子書 格式 2024
[按需印刷]並行算法設計與性能優化 計算機與互聯網 書籍|4706195 下載 mobi epub pdf 電子書[按需印刷]並行算法設計與性能優化 計算機與互聯網 書籍|4706195 mobi epub pdf txt 電子書 格式下載 2024