-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
并行算法設計與性能優化 版權信息
- ISBN:9787111501022
- 條形碼:9787111501022 ; 978-7-111-50102-2
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
并行算法設計與性能優化 本書特色
本書主要介紹并行計算相關的算法的設計和并行計算的性能優化技巧,涵蓋現代處理器的特性、衡量程序性能的方法、串行代碼性能優化、并行編程模型及其環境、并行算法設計、遺留代碼的并行處理、并行編程模型、混合并行等核心技法與實踐技巧。
并行算法設計與性能優化 內容簡介
本書主要介紹并行計算相關的算法的設計和并行計算的性能優化技巧,涵蓋現代處理器的特性、衡量程序性能的方法、串行代碼性能優化、并行編程模型及其環境、并行算法設計、遺留代碼的并行處理、并行編程模型、混合并行等核心技法與實踐技巧。
并行算法設計與性能優化 目錄
前言
第1章緒論
1.1并行和向量化的作用
1.2為什么要并行或向量化
1.3為什么向量化或并行難
1.4并行的替代方法
1.5進程、線程與處理器
1.6并行硬件平臺
1.7向量化和多核技術不是萬能的
1.8本章小結
第2章現代處理器特性
2.1指令級并行
2.1.1指令流水線
2.1.2亂序執行
2.1.3指令多發射
2.1.4分支預測
2.1.5vliw
2.2向量化并行
2.2.1simd
2.2.2simt
2.3線程級并行
2.3.1內核線程和用戶線程
2.3.2多線程編程庫
2.3.3多核上多線程并行要注意的問題
2.3.4多線程程序在多核和單核上運行的不同
2.4緩存
2.4.1緩存層次結構
2.4.2緩存一致性
2.4.3緩沖不命中
2.4.4寫緩存
2.4.5越過緩存
2.4.6硬件預取
2.4.7緩存結構
2.4.8映射策略
2.5虛擬存儲器和tlb
2.6numa技術
2.7本章小結
第3章算法性能和程序性能的度量與分析
3.1算法分析的性能度量標準
3.1.1時間復雜度與空間復雜度
3.1.2實現復雜度
3.2程序和指令的性能度量標準
3.3程序性能優化的度量標準
3.3.1加速比與并行效率
3.3.2amdahl定律和gustafson定律
3.4程序性能分析實用工具
3.5本章小結
第4章串行代碼性能優化
4.1系統級別
4.2應用級別
4.3算法級別
4.4函數級別
4.4.1函數調用參數
4.4.2內聯小函數
4.5循環級別
4.5.1循環展開
4.5.2循環累積
4.5.3循環合并
4.5.4循環拆分
4.6語句級別
4.6.1減少內存讀寫
4.6.2選用盡量小的數據類型
4.6.3結構體對齊
4.6.4表達式移除
4.6.5分支優化
4.6.6優化交換性能
4.7指令級別
4.8本章小結
第5章依賴分析
5.1指令級依賴
5.1.1結構化依賴
5.1.2數據依賴
5.1.3控制依賴
5.2循環級依賴
5.2.1循環數據依賴
5.2.2循環控制依賴
5.3寄存器重命名
5.4本章小結
第6章并行編程模型及環境
6.1并行編程模型
6.1.1指令級并行
6.1.2向量化并行
6.1.3易并行
6.1.4任務并行
6.1.5數據并行
6.1.6循環并行化
6.1.7流水線并行
6.1.8區域分解并行
6.1.9隱式和顯式并行化
6.1.10spmd
6.1.11共享存儲器并行
6.1.12分布式存儲器并行
6.2常見并行編程環境
6.2.1mpi
6.2.2openmp
6.2.3fork/pthread
6.2.4cuda
6.2.5opencl
6.2.6openacc
6.2.7neon內置函數
6.2.8sse/avx內置函數
6.3本章小結
第7章并行算法設計方法
7.1劃分
7.1.1分而治之
7.1.2劃分原則
7.1.3常見劃分方法
7.1.4并行性和局部性
7.2通信
7.2.1操作的原子性
7.2.2結果的可見性
7.2.3順序一致性
7.2.4函數的可重入與線程安全
7.2.5volatile關鍵字
7.2.6鎖
7.2.7臨界區
7.2.8原子操作
7.2.9柵欄
7.3結果歸并
7.4負載均衡
7.4.1靜態負載均衡
7.4.2動態負載均衡
7.4.3動態負載均衡算法的一般步驟
7.5本章小結
第8章并行算法缺陷
8.1啟動結束時間
8.2負載均衡
8.3競寫
8.4鎖
8.4.1死鎖
8.4.2活鎖
8.5餓死
8.6偽共享
8.7原子操作
8.8存儲器柵欄
8.9緩存一致性
8.10順序一致性
8.11volatile同步錯誤
8.12本章小結
第9章并行編程模式實踐
9.1map模式
9.2reduce模式
9.3結合map和reduce模式
9.4scan模式
9.5zip/unzip模式
9.6流水線模式
9.7本章小結
第10章如何并行遺留代碼
10.1找出軟件的計算熱點
10.2判斷是否并行化熱點
10.3設計算法并實現
10.3.1選擇何種工具進行向量化或并行化
10.3.2重構熱點代碼
10.3.3依據硬件實現算法
10.4將實現后的代碼嵌入原軟件
10.4.1混合編譯
10.4.2動態鏈接庫
10.5示例:如何并行化word2vec
10.6本章小結
第11章超級并行
11.1超級并行方式編程
11.1.1進程+線程
11.1.2進程+gpu線程
11.1.3線程+gpu線程
11.1.4線程+向量指令
11.1.5進程+線程+向量指令
11.1.6進程+線程+gpu線程
11.2矩陣乘法
11.2.1多機cpu矩陣乘法
11.2.2單機多gpu矩陣乘法
11.2.3多機多gpu矩陣乘法
11.3本章小結
第12章并行算法設計的一般準則
12.1并行算法設計14準則
12.2本章小結
附錄a整型數據與浮點數據
并行算法設計與性能優化 作者簡介
劉文志,花名風辰,畢業于科學院研究生院,聞名于并行計算江湖,尤善異構并行計算(X86、ARM、GPU、APU、PHI)和大規模集群計算相關技術,有7年相關經驗,涉及圖像處理、計算機視覺、數據挖掘和石油勘探。曾任英偉達并行計算工程師(協助建立英偉達北京CUDA團隊)、百度在線高級研發工程師(協助建立百度深度學習實驗室異構計算團隊)。
- >
【精裝繪本】畫給孩子的中國神話
- >
伯納黛特,你要去哪(2021新版)
- >
名家帶你讀魯迅:朝花夕拾
- >
煙與鏡
- >
自卑與超越
- >
推拿
- >
史學評論
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)