欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術(shù)頻道

如何創(chuàng)建及諧調(diào)支持多核的LabVIEW x86客戶DLL

The Challenge:
  對(duì)NI LabVIEW軟件自動(dòng)生成的外部代碼進(jìn)行最優(yōu)化,在x86構(gòu)架下獲得最大性能,進(jìn)而測(cè)量目標(biāo)系統(tǒng)中DLL性能。
The Solution:
  在不修改源代碼的條件下,通過Intel C++ 編譯器在單核PC上實(shí)現(xiàn)2.5 倍提速,通過編譯器中的各類最優(yōu)化選項(xiàng)在雙核PC 上實(shí)現(xiàn)超過4.5 倍提速。
  "VTune能夠監(jiān)測(cè)許多不同種類的構(gòu)架事件。VTune調(diào)諧助手能夠給出如何更好使用這些事件的建議。"
  本應(yīng)用包括了兩個(gè)組件——用于計(jì)算Pi 值的DLL、調(diào)用DLL 庫(kù)函數(shù)的LabVIEW 應(yīng)用,可將結(jié)果顯示在圖形用戶界面中。
  為計(jì)算Pi 值,我們采用了近似綜合技術(shù),需要在單個(gè)循環(huán)中完成數(shù)百萬(wàn)次浮點(diǎn)計(jì)算。選擇該范例是因?yàn)樗荂PU 密集型的,并且是可優(yōu)化的應(yīng)用。如下所示為外部代碼的主循環(huán)結(jié)構(gòu),CPU的主要計(jì)算量是處理CalcSum 函數(shù)。
for(i=0; i
sum = CalcSum(i, sum, step);

  我們的目標(biāo)是通過編譯器中的優(yōu)化選項(xiàng)以最快速度完成上述計(jì)算。
  應(yīng)用中有4 個(gè)函數(shù),均包含于獨(dú)立源文件中。我們采用不同優(yōu)化開關(guān)來(lái)編譯每個(gè)源文件。如圖1 所示。

                表1.應(yīng)用中的函數(shù)
“即插即用”的Intel C++ 編譯器
  我們采用即插即用的Intel C++ 來(lái)代替Microsoft 編譯器,它可以輕松地集成到現(xiàn)有Microsoft Visual Studio DLL 工程中。更多關(guān)于Intel 編譯器,請(qǐng)?jiān)L問intel.com/software。
默認(rèn)設(shè)置
  測(cè)量首先以/O2選項(xiàng)創(chuàng)建應(yīng)用,許多優(yōu)化都是在這個(gè)層面上進(jìn)行的。本文在此不討論其細(xì)節(jié)問題。表2顯示了/O2選項(xiàng)集成的各個(gè)優(yōu)化設(shè)置。

           表2./O2 選項(xiàng)中集成的最優(yōu)化列表
自動(dòng)向量化
  自動(dòng)向量化得益于新一代CPU 中集成的復(fù)雜指令集。多數(shù)現(xiàn)代CPU構(gòu)架可擴(kuò)展支持?jǐn)?shù)據(jù)操作及多數(shù)據(jù)計(jì)算。擴(kuò)展包括支持以單一指令實(shí)現(xiàn)多重計(jì)算(單指令多數(shù)據(jù)流,或稱SIMD)。Intel 編譯器能夠分析代碼,并通過SIMD 指令顯著提高代碼的效率。
  本范例中,編譯器通過\QT 選項(xiàng)生成適合Core 2 構(gòu)架的代碼,編譯器報(bào)告以下創(chuàng)建時(shí)間信息:
注釋:循環(huán)未作向量化處理
  反匯編生成代碼后可看到編譯器插入了SIMD擴(kuò)展指令集(SSE)。該指令集的使用直接提升了應(yīng)用的運(yùn)行性能,代碼運(yùn)行速度提高了2倍。
  這類優(yōu)化可應(yīng)用于目前大多數(shù)CPU 上,這里我們?cè)贑ore 2 處理器上運(yùn)行,當(dāng)然您也可以在單核或早期CPU 上應(yīng)用。
自動(dòng)并行化
  因?yàn)椴捎枚嗪薖C,我們會(huì)更感興趣如何通過\QParallel 選項(xiàng),讓代碼在兩核上同時(shí)運(yùn)行,以獲得進(jìn)一步提速。該選項(xiàng)在編譯目標(biāo)中插入了庫(kù)調(diào)用。庫(kù)調(diào)用提供了運(yùn)行時(shí)所需的控制,使應(yīng)用中的組件得以并行。
  在首次運(yùn)行中,編譯器并未顯著提高運(yùn)行性能。通過開啟編譯器的報(bào)告功能,可以看到它并未進(jìn)行優(yōu)化。
注釋:循環(huán)未作并行化處理,循環(huán)無(wú)需并行化
  Intel編譯器要對(duì)一段代碼進(jìn)行自動(dòng)并行化時(shí),首先決定是否有值得進(jìn)行并行化的代碼部分。在我們的代碼中由一個(gè)主循環(huán)完成所有工作。編譯器不能確定循環(huán)的重復(fù)次數(shù),循環(huán)計(jì)數(shù)值只有在運(yùn)行時(shí)得到。于是編譯器采取謹(jǐn)慎選擇,不對(duì)循環(huán)進(jìn)行并行化處理。
  我們可以通過在命令行輸入/Qpar-threshold:n 來(lái)進(jìn)行試探優(yōu)化,這里n 是介于0(總是并行處理)到100(不進(jìn)行并行處理)的數(shù),這個(gè)值決定了試探優(yōu)化的程度。
  輸入/Qpar-threshold:0 后,編譯器對(duì)代碼并行化,并輸出報(bào)告:
注釋:循環(huán)已作自動(dòng)并行化處理
  使用該優(yōu)化后,程序的運(yùn)行速度比默認(rèn)設(shè)置下提高了近2 倍。
其它優(yōu)化選項(xiàng)
  本范例中,我們關(guān)注自動(dòng)向量化及自動(dòng)并行化。Intel C++ 編譯器利用一系列其它優(yōu)化技術(shù),包括高層優(yōu)化、交叉過程優(yōu)化、配置向?qū)?yōu)化、速度優(yōu)化、代碼大小優(yōu)化、快速浮點(diǎn)處理等。
Intel 編譯器同時(shí)支持OpenMP 這個(gè)基于pragma 的標(biāo)準(zhǔn),用于實(shí)現(xiàn)應(yīng)用代碼的并行化。
測(cè)量性能
  本范例中我們采用Win32 API 的定時(shí)函數(shù),并將定時(shí)計(jì)算嵌入外部代碼。計(jì)算時(shí)間在LabVIEW 應(yīng)用GUI 中顯示。
  作為備選,我們還可采用LabVIEW的定時(shí)工具,或采用外部工具,如Intel VTune 性能分析器。
  VTune能夠監(jiān)測(cè)許多不同種類的構(gòu)架事件。VTune調(diào)諧助手能夠給出如何更好使用這些事件的建議。
結(jié)論
  不同開關(guān)的優(yōu)化結(jié)果在表3 中列出。我們?cè)陔p核PC 上運(yùn)行,并通過默認(rèn)優(yōu)化(/O2)作為基準(zhǔn)來(lái)計(jì)算提速。

                表3.不同優(yōu)化方式下的速度提高
  在應(yīng)用自動(dòng)向量化時(shí)可達(dá)到2.5倍速,該優(yōu)化專用于非多核處理器,可用于目前多數(shù)CPU。
  在應(yīng)用自動(dòng)并行化后可實(shí)現(xiàn)接近2 倍的提速。結(jié)合兩種優(yōu)化更可達(dá)到4.6 倍。
  以上結(jié)果是在不修改源代碼的前提下實(shí)現(xiàn)的。盡管我們選擇了模擬應(yīng)用(計(jì)算Pi值),但這類優(yōu)化技術(shù)能夠用于各類實(shí)際應(yīng)用。從Intel編譯器用戶反饋中了解到,使用這些優(yōu)化方式可顯著提高代碼執(zhí)行速度。

如果您有任何問題,請(qǐng)留言給NI工程師,我們會(huì)盡快給您回電!

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

      国产精品久久久久久久久婷婷 | 国产精品久久久久一区| 亚洲欧美激情视频| 尤物99国产成人精品视频| 欧美日韩国产成人高清视频| 久久高清国产| 亚洲影视九九影院在线观看| 亚洲黄一区二区| 国产一区二区三区高清在线观看| 欧美日韩中文精品| 能在线观看的日韩av| 久久精品99国产精品酒店日本| 99一区二区| 91久久久在线| 亚洲电影自拍| 在线观看91精品国产麻豆| 国产精品网红福利| 国产精品第13页| 欧美三级视频在线| 欧美久久久久久久| 欧美国产精品日韩| 欧美精品在线免费播放| 欧美精选在线| 欧美日韩视频免费播放| 欧美伦理91i| 欧美日韩国产色视频| 欧美激情视频网站| 欧美a级在线| 欧美国产乱视频| 欧美高清日韩| 欧美精品尤物在线| 欧美理论片在线观看| 欧美国产精品一区| 欧美日韩另类视频| 欧美视频三区在线播放| 国产精品国产三级欧美二区| 国产精品稀缺呦系列在线| 国产精品日韩欧美一区| 国产热re99久久6国产精品| 国产亚洲福利| 尤物在线观看一区| 亚洲日本欧美| 一区二区三区四区精品| 亚洲午夜免费视频| 欧美怡红院视频| 麻豆国产精品777777在线| 欧美激情精品久久久久| 国产精品mm| 国内精品国产成人| 91久久亚洲| 亚洲自拍电影| 久久久夜夜夜| 欧美性猛交视频| 国产一区二区三区久久| 精久久久久久| 洋洋av久久久久久久一区| 亚洲欧美日韩系列| 久久米奇亚洲| 欧美日韩三级在线| 国产亚洲精品bv在线观看| 亚洲国产成人精品女人久久久| 一区二区三区产品免费精品久久75| 亚洲欧美在线免费| 欧美国产在线观看| 国产伦精品一区二区三区免费迷| 亚洲大胆人体视频| 亚洲欧美成人一区二区三区| 蜜臀av在线播放一区二区三区| 欧美日韩综合视频网址| 樱桃成人精品视频在线播放| 在线视频精品| 欧美mv日韩mv亚洲| 国产午夜久久| 中文精品视频| 欧美福利网址| 国产日韩欧美亚洲| 在线中文字幕一区| 欧美不卡在线视频| 国内精品久久久久影院 日本资源| 亚洲精品1区2区| 久久久久久自在自线| 国产精品一区在线观看| 在线综合亚洲| 欧美另类变人与禽xxxxx| 激情成人亚洲| 久久不见久久见免费视频1| 欧美色精品天天在线观看视频| 亚洲成人在线网| 久久久一二三| 黑人巨大精品欧美黑白配亚洲| 性欧美暴力猛交另类hd| 国产精品成人一区二区| 99国产一区二区三精品乱码| 欧美国产视频在线观看| 国内精品亚洲| 欧美专区第一页| 国产情侣久久| 欧美综合国产精品久久丁香| 国产精品乱看| 亚洲欧美中文在线视频| 国产精品家教| 亚洲性感激情| 国产精品亚洲不卡a| 翔田千里一区二区| 国产欧美一区二区三区久久人妖 | 国产精品专区h在线观看| 夜夜嗨av一区二区三区| 欧美日韩高清在线一区| 亚洲最快最全在线视频| 欧美性事在线| 午夜精品av| 国产午夜亚洲精品羞羞网站| 久久精品观看| 亚洲国产精品久久久久秋霞不卡 | 亚洲每日在线| 欧美久久久久久久| 在线一区二区日韩| 国产精品永久免费观看| 欧美一级视频| 亚洲福利视频二区| 欧美人在线观看| 亚洲一卡二卡三卡四卡五卡| 国产精品亚洲а∨天堂免在线| 午夜日韩在线| 精品成人a区在线观看| 欧美大片在线看免费观看| 亚洲另类在线一区| 国产精品欧美在线| 久久久久久久久久久成人| 亚洲伦理在线| 国产乱码精品一区二区三区忘忧草 | 国模叶桐国产精品一区| 久久在线播放| 亚洲夜晚福利在线观看| 国内精品久久久久久| 欧美精品一区二区三区一线天视频 | 猛干欧美女孩| 亚洲少妇最新在线视频| 国产一区二区三区久久久| 欧美韩日亚洲| 久久久久久久精| 亚洲视频一区二区| 精品成人a区在线观看| 欧美日韩国产一级| 久久激情综合网| 在线视频一区二区| 在线不卡a资源高清| 国产精品播放| 欧美国产另类| 久久成人综合视频| 制服诱惑一区二区| 91久久国产综合久久| 国产日韩1区| 欧美体内she精视频在线观看| 久久久久久久尹人综合网亚洲| 99re热这里只有精品视频| 国模精品一区二区三区| 国产精品自拍一区| 欧美人与禽猛交乱配| 久久久中精品2020中文| 午夜精品久久99蜜桃的功能介绍| 亚洲精品国产精品乱码不99按摩| 国产一区在线播放| 国产欧美日韩精品一区| 欧美午夜精品电影| 欧美精品在线免费| 欧美劲爆第一页| 免费日本视频一区| 久久一区二区三区国产精品 | 亚洲香蕉在线观看| 日韩午夜av| 亚洲精品中文字幕在线| 亚洲国产精品传媒在线观看| 国产亚洲欧美一区| 国产日韩精品在线播放| 国产精品日本一区二区| 国产精品国产精品| 欧美三级视频在线| 欧美午夜一区二区福利视频| 欧美日韩1080p| 欧美了一区在线观看| 欧美日韩第一区| 欧美日韩久久| 国产精品美女久久久| 国产精品综合色区在线观看| 国产精品一区二区久久精品| 国产精品免费一区二区三区观看| 国产精品网站在线播放| 国产麻豆日韩| 国内揄拍国内精品少妇国语| 国产在线精品一区二区中文 | 欧美一区二区在线| 久久精精品视频| 久久久97精品| 欧美高潮视频| 国产精品高潮呻吟久久av无限| 国产精品美女| 国产亚洲欧洲一区高清在线观看| 国产亚洲欧洲997久久综合| 尹人成人综合网|