




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實時系統(tǒng)分析與設計實驗廈門大學信息科學與技術學院實驗用書多核程序設計,浙江大學、復旦大學、清華大學、北京大學、上海交通大學編寫,清華大學出版社,2007年9月第1版實驗一:C+編譯器實驗實驗要求硬件英特爾多核處理器512 MB 內(nèi)存20 GB 硬盤支持32位像素顯卡軟件Windows XP* SP2 Microsoft Visual Studio* .NET 2003 英特爾 C+ 編譯器 9.0 或更高版本英特爾 VTune性能分析器 7.2 或更高版本英特爾 Thread Checker 線程檢查器2.2 或更高版本英特爾 Thread Profiler 線程檔案器 2.2 或更高版本實驗
2、代碼 1、在Visual Studio.NET之后安裝Intel C+編譯器試用版 實驗一、原始編譯 (1)用微軟C+編譯器編譯 將光盤內(nèi)的code文件夾整個復制到硬盤,如E盤根目錄,在上面的命令行界面輸入如下命令跳轉到RayTrace2目錄: cd E: codeCompilerSwitchesraytrace2sourceRayTrace2 然后清理以前生成的文件: nmake /f raytrace2.mak clean 編譯文件: nmake /f raytrace2.mak CPP=cl.exe 運行渲染圖像程序: raytrace2 320 240 Press g to begin
3、 the render Press q to quit the application 將屏幕上顯示的運行時間記錄下來 _。 (2)用英特爾C+編譯器編譯 先清理以前生成的文件: nmake /f raytrace2.mak clean 編譯文件: nmake /f raytrace2.mak 運行渲染圖像程序: raytrace2 320 240 Press g to begin the render Press q to quit the application 將屏幕上顯示的運行時間記錄下來 _。實驗二 高階優(yōu)化,參數(shù)(-O3) 將屏幕上顯示的運行時間記錄下來;實驗三 矢量化優(yōu)化,參數(shù)(
4、-Qxp) 將屏幕上顯示的運行時間記錄下來;實驗四 綜合優(yōu)化,參數(shù)(-O3、-Qxp、IPO、PGO) 將屏幕上顯示的運行時間記錄下來。實驗二: Intel VTune 工具實驗一尋找熱點區(qū)域 基于時鐘事件取樣收集gzip.exe的數(shù)據(jù),并識別最耗時間的函數(shù)。 問題: gzip.exe中哪個函數(shù)消耗了最多的時間? gzip.exe中哪個函數(shù)CPI最高? gzip.exe源代碼中哪一行時鐘周期最多? gzip.exe是多線程程序嗎?實驗二 采樣 問題:(1)觀察每個不同進程運行狀態(tài),單擊ThreadModule按鍵。(2)選擇某段時間并放大(3)查看這段時間區(qū)域的常規(guī)取樣視圖實驗三 調(diào)用曲線圖
5、問題: 哪個函數(shù)消耗的時間最多,它被哪些函數(shù)調(diào)用過?實驗四 使用Windows命令行問題:(1)查看gzip的分析數(shù)據(jù)(2)封裝數(shù)據(jù)并在圖形界面中查看圖形界面顯示樣本分析數(shù)據(jù)。實驗三: MKL 本實驗通過分別用原始運算、DDOT、DGEMV、DGEMM編譯和運行一個矩陣乘法程序,演示了原始計算、一級BLAS、二級BLAS、三級BLAS的性能特征和它們之間的差異。實驗步驟:定位到文件夾code MKL_OverviewDGEMM,打開文件mkl_lab_solution.c,仔細查看4段不同方法實現(xiàn)同一矩陣乘法的代碼;檢查文件Makefile中的include和library路徑,修改為與本機一
6、致;打開開始菜單-所有程序-Intel(R) Software Development Tools-Intel(R) C+ Compiler 9.0-Build Environment for IA-32 Applications,輸入:nmake,編譯完成后目錄下會生成一個matrix.exe文件,輸入:matrix.exe運行程序,會提示輸入矩陣的維數(shù)(輸入的數(shù)字盡量大些,如1000),記錄運行結果并觀察它們的差異:roll_your_own: _DDOT: _DGEMV: _DGEMM: _MKL默認使用單線程,可以通過改變環(huán)境變量OMP_NUM_THREADS來自定義MKL使用的線程數(shù)
7、量,輸入:set OMP_NUM_THREADS=2,重新運行程序觀察結果;改變不同線程數(shù)量,記錄各自的運行結果。問題:當自定義的線程數(shù)量超過處理器核的數(shù)量時,會發(fā)生什么現(xiàn)象?實驗四: OpenMP線程編程實驗一Hello worlds 并行編程實驗;實驗二用OpenMP編寫用積分方法求PI值的算法;實驗三用OpenMP改進Monte Carlo PI算法;實驗五: Intel Thread Checker實驗一 在程序中尋找潛在的數(shù)據(jù)競爭 問題:為什么會出現(xiàn)這些沖突?實驗二 數(shù)據(jù)競爭問題的解決 問題:修改好的多線程程序運行結果和之前的單線程程序一樣嗎?實驗三 檢測死鎖問題 問題:用大的數(shù)據(jù)集
8、可以讓線程檢查器收集到更多的信息,這個說法正確嗎?實驗六: Intel Thread profiler實驗一 Intel Thread Profiler入門實驗二 負載平衡問題 實驗七 Windows多線程編程技術-實時多任務調(diào)度 一、實驗目的1、掌握多線程編程的特點。2、了解實時多任務的調(diào)度和執(zhí)行過程。3、掌握實時多任務的同步問題。二、實驗內(nèi)容通過創(chuàng)建5個優(yōu)先級不同的線程,來模擬實時多任務的調(diào)度執(zhí)行過程,要注意多線程之間的同步問題。實驗八 linux多線程編程技術 一、實驗目的1、掌握Linux多線程編程的特點。2、重點掌握同步、互斥問題的解決。二、實驗內(nèi)容進程同步都要涉及到的一個經(jīng)典問題就是哲學家就餐問題下面來介紹一下哲學家就餐問題: 哲學家就餐問題中,一組哲學家圍坐在一個圓桌旁,每個哲學家的左邊都只有一只筷子(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學信息技術第一冊下 第12課 網(wǎng)上學習 2 教學設計 泰山版
- 高中語文課內(nèi)古詩文(新教材統(tǒng)編版)《庖丁解?!分R點+專項練習(原卷版)
- 企業(yè)辦公大樓裝修改造工程合同
- 合作協(xié)議合同范本與商業(yè)伙伴
- 數(shù)字一體化手術室培訓
- 小學語文人教部編版四年級下冊17 記金華的雙龍洞教案及反思
- 尿路感染的用藥與護理
- 技術合同的簡化版
- 人防工程防護設備銷售與安裝合同
- 慢阻肺護理新進展
- 駕駛員安全管理培訓
- 道路交通運輸生產(chǎn)安全事故責任追究典型案例(企業(yè)專題:安全管理人員盡職免責篇)
- 書香致遠閱讀啟智-2025世界讀書日主題班會教案
- 2025-2030中國電子支付行業(yè)市場發(fā)展分析及發(fā)展前景與投資戰(zhàn)略研究報告
- 2024年湖南常德煙草機械有限責任公司招聘筆試真題
- 河南省鄭州市河南測繪職業(yè)學院2024年4月單招考試語文試卷
- 企業(yè)研究方法知到智慧樹章節(jié)測試課后答案2024年秋華東理工大學
- 2025年中考語文專題復習:寫作技巧 課件
- 人工智能時代弘揚教育家精神的價值意蘊與實踐路徑
- 公司安全事故隱患內(nèi)部舉報、報告獎勵制度
- 小區(qū)網(wǎng)球可行性方案
評論
0/150
提交評論