《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 如何創建及諧調支持多核的LabVIEW x86客戶DLL

如何創建及諧調支持多核的LabVIEW x86客戶DLL

2009-05-20
作者:美國國家儀器有限公司

?

The Challenge:

??? 對NI LabVIEW軟件自動生成的外部代碼進行最優化,在x86構架下獲得最大性能,進而測量目標系統中DLL性能。

?

The Solution:

??? 在不修改源代碼的條件下,通過Intel C++ 編譯器在單核PC上實現2.5 倍提速,通過編譯器中的各類最優化選項在雙核PC 上實現超過4.5 倍提速。

?

??? "VTune能夠監測許多不同種類的構架事件。VTune調諧助手能夠給出如何更好使用這些事件的建議。"

本應用包括了兩個組件——用于計算Pi 值的DLL、調用DLL 庫函數的LabVIEW 應用,可將結果顯示在圖形用戶界面中。

?

??? 為計算Pi 值,我們采用了近似綜合技術,需要在單個循環中完成數百萬次浮點計算。選擇該范例是因為它是CPU 密集型的,并且是可優化的應用。如下所示為外部代碼的主循環結構,CPU的主要計算量是處理CalcSum 函數。

?

for(i=0; i
sum = CalcSum(i, sum, step);

?

??? 我們的目標是通過編譯器中的優化選項以最快速度完成上述計算。

?

??? 應用中有4 個函數,均包含于獨立源文件中。我們采用不同優化開關來編譯每個源文件。如圖1 所示。

?

表1.應用中的函數

?

即插即用”的Intel C++ 編譯器

?

??? 我們采用即插即用的Intel C++ 來代替Microsoft 編譯器,它可以輕松地集成到現有Microsoft Visual Studio DLL 工程中。更多關于Intel 編譯器,請訪問intel.com/software。

?

默認設置

?

??? 測量首先以/O2選項創建應用,許多優化都是在這個層面上進行的。本文在此不討論其細節問題。表2顯示了/O2選項集成的各個優化設置。

?

表2./O2 選項中集成的最優化列表

?

自動向量化

?

??? 自動向量化得益于新一代CPU 中集成的復雜指令集。多數現代CPU構架可擴展支持數據操作及多數據計算。擴展包括支持以單一指令實現多重計算(單指令多數據流,或稱SIMD)。Intel 編譯器能夠分析代碼,并通過SIMD 指令顯著提高代碼的效率。

?

??? 本范例中,編譯器通過\QT 選項生成適合Core 2 構架的代碼,編譯器報告以下創建時間信息:

?

??? 注釋:循環未作向量化處理

?

??? 反匯編生成代碼后可看到編譯器插入了SIMD擴展指令集(SSE)。該指令集的使用直接提升了應用的運行性能,代碼運行速度提高了2倍。

?

??? 這類優化可應用于目前大多數CPU 上,這里我們在Core 2 處理器上運行,當然您也可以在單核或早期CPU 上應用。

?

自動并行化

?

??? 因為采用多核PC,我們會更感興趣如何通過\QParallel 選項,讓代碼在兩核上同時運行,以獲得進一步提速。該選項在編譯目標中插入了庫調用。庫調用提供了運行時所需的控制,使應用中的組件得以并行。

在首次運行中,編譯器并未顯著提高運行性能。通過開啟編譯器的報告功能,可以看到它并未進行優化。

?

??? 注釋:循環未作并行化處理,循環無需并行化

?

??? Intel編譯器要對一段代碼進行自動并行化時,首先決定是否有值得進行并行化的代碼部分。在我們的代碼中由一個主循環完成所有工作。編譯器不能確定循環的重復次數,循環計數值只有在運行時得到。于是編譯器采取謹慎選擇,不對循環進行并行化處理。

?

??? 我們可以通過在命令行輸入/Qpar-threshold:n 來進行試探優化,這里n 是介于0(總是并行處理)到100(不進行并行處理)的數,這個值決定了試探優化的程度。

?

??? 輸入/Qpar-threshold:0 后,編譯器對代碼并行化,并輸出報告:

?

??? 注釋:循環已作自動并行化處理

?

??? 使用該優化后,程序的運行速度比默認設置下提高了近2 倍。

?

其它優化選項

?

??? 本范例中,我們關注自動向量化及自動并行化。Intel C++ 編譯器利用一系列其它優化技術,包括高層優化、交叉過程優化、配置向導優化、速度優化、代碼大小優化、快速浮點處理等。

?

??? Intel 編譯器同時支持OpenMP 這個基于pragma 的標準,用于實現應用代碼的并行化。

?

測量性能

?

??? 本范例中我們采用Win32 API 的定時函數,并將定時計算嵌入外部代碼。計算時間在LabVIEW 應用GUI 中顯示。

?

??? 作為備選,我們還可采用LabVIEW的定時工具,或采用外部工具,如Intel VTune 性能分析器。

?

??? VTune能夠監測許多不同種類的構架事件。VTune調諧助手能夠給出如何更好使用這些事件的建議。

?

結論

?

??? 不同開關的優化結果在表3 中列出。我們在雙核PC 上運行,并通過默認優化(/O2)作為基準來計算提速。

?

表3.不同優化方式下的速度提高

?

??? 在應用自動向量化時可達到2.5倍速,該優化專用于非多核處理器,可用于目前多數CPU。

?

??? 在應用自動并行化后可實現接近2 倍的提速。結合兩種優化更可達到4.6 倍。

?

??? 以上結果是在不修改源代碼的前提下實現的。盡管我們選擇了模擬應用(計算Pi值),但這類優化技術能夠用于各類實際應用。從Intel編譯器用戶反饋中了解到,使用這些優化方式可顯著提高代碼執行速度。

?

?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美中文字幕第一页| 午夜日韩福利| 亚洲色图综合久久| 亚洲人成艺术| 亚洲第一天堂无码专区| 国产一区二区三区无遮挡| 国产精品久久久久天堂| 欧美三级日本三级少妇99| 欧美精品免费播放| 欧美成人在线网站| 欧美第一黄色网| 欧美成年网站| 欧美电影在线| 欧美福利专区| 欧美激情小视频| 欧美了一区在线观看| 欧美金8天国| 欧美日本韩国| 欧美日韩在线免费| 欧美日韩在线电影| 国产精品久久久久久久久搜平片| 国产精品www网站| 国产精品国产三级国产专播精品人| 欧美日韩国产黄| 欧美无乱码久久久免费午夜一区 | 99国产精品视频免费观看| 亚洲精品一区在线观看| 亚洲自拍偷拍福利| 亚洲手机在线| 中日韩美女免费视频网址在线观看 | 亚洲国产老妈| 亚洲黄色在线| 日韩午夜一区| 中文日韩欧美| 亚洲一区高清| 欧美伊人久久久久久久久影院| 久久精品国产精品亚洲精品| 91久久精品美女| 99视频精品在线| 亚洲欧美日韩中文视频| 久久国产精品久久久久久| 久久在线91| 欧美精品三区| 国产精品久久久久三级| 国产一区二区在线观看免费播放 | 欧美午夜欧美| 国产农村妇女精品| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲第一在线综合在线| 日韩亚洲精品视频| 亚洲制服欧美中文字幕中文字幕| 欧美一区二区三区啪啪| 亚洲日本视频| 亚洲综合丁香| 久久久一区二区| 欧美日本亚洲韩国国产| 国产精品实拍| 亚洲国产经典视频| 一区二区三区导航| 久久精品国产77777蜜臀| 9国产精品视频| 欧美夜福利tv在线| 欧美成年人网| 国产精品亚洲片夜色在线| 影音先锋亚洲一区| 中文国产成人精品| 亚洲成在人线av| 亚洲自拍偷拍视频| 蜜桃av久久久亚洲精品| 国产精品xxxxx| 尤妮丝一区二区裸体视频| 宅男噜噜噜66国产日韩在线观看| 久久精品夜色噜噜亚洲a∨ | 国模精品一区二区三区色天香| 亚洲精品一区二区三区婷婷月| 亚洲欧美日韩国产综合精品二区| 亚洲三级性片| 欧美一区免费| 欧美日韩久久精品| 一区二区三区在线视频免费观看 | 久久综合五月天婷婷伊人| 欧美四级剧情无删版影片| 狠狠色综合日日| 亚洲深夜福利| 亚洲精品日韩久久| 久久福利视频导航| 欧美日韩在线不卡一区| 伊人一区二区三区久久精品| 亚洲欧美日本伦理| 中日韩美女免费视频网址在线观看 | 亚洲精品网址在线观看| 久久精品成人一区二区三区蜜臀| 亚洲在线观看视频网站| 欧美精品久久99| 红桃av永久久久| 亚洲女爱视频在线| 亚洲一区不卡| 欧美久久久久中文字幕| 亚洲第一偷拍| 亚洲国产成人精品久久久国产成人一区| 亚洲一区二区三区在线看| 欧美极品色图| 在线不卡视频| 久久国产精品一区二区三区四区| 亚洲欧美在线磁力| 欧美三级在线播放| 亚洲精品视频在线播放| 最新日韩在线视频| 久久影视精品| 韩日精品视频| 欧美在线视频a| 欧美一区二区三区四区视频| 国产精品福利片| 99精品欧美一区| 洋洋av久久久久久久一区| 欧美aaa级| 曰本成人黄色| 亚洲国内在线| 老妇喷水一区二区三区| 国产婷婷一区二区| 欧美一区二区三区免费大片| 久久精品国产2020观看福利| 国产日本亚洲高清| 午夜精品影院在线观看| 性18欧美另类| 国产乱码精品一区二区三区忘忧草 | 亚洲激情在线激情| 蜜臀久久99精品久久久久久9| 狠狠色丁香婷婷综合影院 | 亚洲区欧美区| 欧美肥婆bbw| 亚洲精品1区2区| 亚洲美女中出| 欧美日韩精品综合| 一区二区高清视频| 亚洲欧美日韩精品在线| 国产精品一区二区你懂得| 午夜精品视频在线| 久久婷婷久久一区二区三区| 精品动漫3d一区二区三区免费版 | 亚洲国产精品一区二区久| 欧美96在线丨欧| 亚洲毛片在线看| 亚洲免费在线观看| 国产三区精品| 亚洲激情视频在线观看| 欧美区一区二| 中文av一区二区| 欧美在现视频| 一区二区三区在线观看视频| 日韩视频欧美视频| 国产精品分类| 久久成人在线| 欧美激情国产高清| 一本色道久久| 久久电影一区| 亚洲国产婷婷综合在线精品 | 在线一区二区三区做爰视频网站| 欧美专区日韩视频| 在线精品国产欧美| 亚洲视频1区| 国产精品自拍一区| 亚洲国产欧美一区二区三区丁香婷| 欧美久久九九| 午夜精品亚洲| 欧美国产第一页| 亚洲一二三区视频在线观看| 久久久av网站| 亚洲人成网站精品片在线观看| 午夜电影亚洲| 在线播放中文一区| 一区二区三区国产在线观看| 国产精品亚发布| 亚洲肉体裸体xxxx137| 国产精品拍天天在线| 亚洲电影专区| 欧美日韩午夜激情| 久久国产精品久久国产精品| 欧美噜噜久久久xxx| 亚洲欧美日韩在线| 欧美激情视频在线播放 | 欧美在线亚洲在线| 欧美ed2k| 亚洲一区二区三区在线| 欧美成人精品福利| 亚洲欧美日韩精品久久| 欧美好骚综合网| 欧美一区二区三区在线播放| 欧美日韩免费视频| 亚洲大片在线| 国产精品免费电影| 亚洲精品日韩精品| 国产主播在线一区| 亚洲永久精品国产| 亚洲国产高清一区| 久久久亚洲精品一区二区三区| 日韩一级黄色大片| 巨胸喷奶水www久久久免费动漫| 亚洲天堂黄色| 欧美精品日韩综合在线|