《並行演算法設計與效能優化》初了解

2021-09-29 16:19:06 字數 722 閱讀 9753

本書主要介紹平行計算相關的演算法的設計和平行計算的效能優化技巧,涵蓋現代處理器的特性、衡量程式效能的方法、序列**效能優化、並行程式設計模型及其環境、並行演算法設計、遺留**的並行處理、並行程式設計模型、混合並行等核心技法與實踐技巧。

並行:parallelism,多個處理單元的系統上,將計算和資料劃分為多個部分,將各個部分分配到不同的處理單元上去

併發:concurrency,在乙個處理單元上執行多個應用,各個應用分時占用處理單元,微觀上序列,巨集觀上並行

**效能優化:通過調整源**,使得其生成的機器指令能夠更高效地執行,高效:時間更少,使用的儲存器更少,可計算更大規模

一般來說,併發是為了滿足應用的功能需求,實現方式:多執行緒

常用的幾個方式,以提高硬體的計算能力

1、讓處理器乙個週期處理多條指令:如4個加法,1個浮點乘法;訪存和運算指令也可以同時執行

2、使用向量指令:主要是simd和vliw技術,simd將處理器一次能夠處理的資料位數從字長擴大到128或256位

3、在同乙個晶元中整合多個處理單元:多核處理器,多路處理器

全書主要內容:

理論基礎,**優化,並行演算法設計考量,如何將現有的序列**並行化

《並行程式設計方法與優化實踐》《科學計算與企業級應用的並行優化》

並行演算法設計

求和例子總結 資料並行 其他任務劃分方法 假定已有求解問題的序列演算法,我們將 其改為並行版本 並行演算法與體系結構緊密相關 設計乙個並行演算法 計算任務的分解 如何將平行計算工作分解,交由眾多程序 執行緒併發執行 保持依賴關係 計算結果與序列演算法保持一致 額外開銷 有多種型別的開銷,要盡量降低 ...

並行演算法筆記(三) 並行演算法設計(二)

case1 並行歸併排序 對n個元素a 1 n 排序,則將a均勻分為p組,其中p為處理器個數,按如下過程排序 case2 歸併演算法 valiant歸併 對長度為p,q的有序陣列a和b歸併,則將a均勻分為p sqrt p 組,每組有p sqrt p 個元素,將b劃分為q sqrt q 組,每組q s...

並行演算法 並行演算法的設計技術和並行程式開發

目前普遍使用的並行演算法的設計技術 1 流水線技術 將任務分割成許多子任務,每個處理器完成其中乙個,且第乙個處理器完成第乙個子任務後,第二個處理器可以開始完成第二個子任務 2 分治策略 將原問題分成若干個特徵相同的子問題,分別處理。類似超執行緒技術 常見的分治策略 任務分割 資料分割 3 平衡樹方法...