lab4性能優(yōu)化實驗分析_第1頁
lab4性能優(yōu)化實驗分析_第2頁
lab4性能優(yōu)化實驗分析_第3頁
lab4性能優(yōu)化實驗分析_第4頁
lab4性能優(yōu)化實驗分析_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

性能優(yōu)化實驗分析

2009/12/72021/5/91代碼優(yōu)化“不成熟的優(yōu)化乃萬惡之源”---TonyHoare前期著重精良的算法設(shè)計,后期找出性能瓶頸, 注重傳統(tǒng)的優(yōu)化措施以底層語言思考,用高級語言編程2021/5/92手工優(yōu)化的若干級別最抽象層:選擇合適的算法優(yōu)化程序(與編譯器和語 言均無關(guān))低一層:基于所用的高級語言優(yōu)化代碼(不依賴語言 的特定實現(xiàn))再低一層:考慮代碼的組織,優(yōu)化針對特定的編譯器 和函數(shù)庫(VC,GCC,ICC)最低一層:考慮編譯器生成的機器碼,調(diào)整指令序列2021/5/93常見代碼優(yōu)化方法減少函數(shù)調(diào)用提前計算循環(huán)展開并行運算提高cache利用率2021/5/94ImageRotatenaive_rotate

缺點:程序局部性不好,循環(huán)次數(shù)過多2021/5/95FirstTrying:分塊嘗試分成4*4的小塊,提高空間局部性

測試CPE改進為1.82021/5/96SecondTrying:循環(huán)展開采用32*32分塊,4*4路循環(huán)展開,注意循環(huán)內(nèi)部語句執(zhí)行順序 測試CPE改進2.72021/5/97ThirdTrying?假設(shè)分塊為4*4的矩陣,采用不同的巡回路線

srcdest2021/5/98LastTrying考慮矩形分塊32*1,32路循環(huán)展開,并使dest地址連續(xù),以減少存儲器寫次數(shù)

測得CPE改進為3.52021/5/99ImageSmoothnaive_smooth2021/5/910FirstTrying:減少函數(shù)調(diào)用函數(shù)avg,accumulate_sum在smooth內(nèi)實現(xiàn)函數(shù)assign_sum_to_pixel,min,max用宏定義 實現(xiàn) 得到的CPE改進為1.62021/5/911SecondTrying:使用局部變量讓所有的函數(shù)調(diào)用均集成在smooth內(nèi),然后確定 求平均值時涉及到的元素,它們的位置用4個局部 變量記錄下來,求和的像素個數(shù)用另外一個局部變量確定,最后做加法和除法 得到的CPE改進為5.0

2021/5/912SecondTrying:使用局部變量2021/5/913ThirdTrying:使用完全循環(huán)展開分析不同的avg情況共有9種,4個角點位置,4個 邊帶位置,1個中央塊,因此只需對這9種情況分 別討論比如左上角點2021/5/914ThirdTrying:使用完全循環(huán)展開中央位置 最終測得CPE改進為8.62021/5/915LastTrying?減少冗余計算 預(yù)先確定操作數(shù)的地址,使用指針變量

s0=src+row s1=src+row-dim s2=src+row+dim變常數(shù)除法為乘法

/4等效成>>2 /6等效*0x2AAB>>16 /9等效成*0x1C72>>162021/5/916代碼優(yōu)化推薦書籍WriteGreatCodeVolume2:ThinkingLow-level,

WritingHigh-level---RandallHydeSoftwareOptimizationforHigh-Performance Computing:CreatingFasterAp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論