如何創(chuàng)建及諧調(diào)支持多核的LabVIEW x86客戶DLL
Intel 編譯器同時支持OpenMP 這個基于pragma 的標準,用于實現(xiàn)應(yīng)用代碼的并行化。
本文引用地址:http://www.ex-cimer.com/article/94541.htm測量性能
本范例中我們采用Win32 API 的定時函數(shù),并將定時計算嵌入外部代碼。計算時間在LabVIEW 應(yīng)用GUI 中顯示。
作為備選,我們還可采用LabVIEW的定時工具,或采用外部工具,如Intel VTune 性能分析器。
VTune能夠監(jiān)測許多不同種類的構(gòu)架事件。VTune調(diào)諧助手能夠給出如何更好使用這些事件的建議。
結(jié)論
不同開關(guān)的優(yōu)化結(jié)果在表3 中列出。我們在雙核PC 上運行,并通過默認優(yōu)化(/O2)作為基準來計算提速。
表3.不同優(yōu)化方式下的速度提高
在應(yīng)用自動向量化時可達到2.5倍速,該優(yōu)化專用于非多核處理器,可用于目前多數(shù)CPU。
在應(yīng)用自動并行化后可實現(xiàn)接近2 倍的提速。結(jié)合兩種優(yōu)化更可達到4.6 倍。
以上結(jié)果是在不修改源代碼的前提下實現(xiàn)的。盡管我們選擇了模擬應(yīng)用(計算Pi值),但這類優(yōu)化技術(shù)能夠用于各類實際應(yīng)用。從Intel編譯器用戶反饋中了解到,使用這些優(yōu)化方式可顯著提高代碼執(zhí)行速度。
評論