新聞中心

        EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 如何創(chuàng)建及諧調(diào)支持多核的LabVIEW x86客戶DLL

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

        作者: 時(shí)間:2009-05-20 來(lái)源:電子產(chǎn)品世界 收藏

          The Challenge:

        本文引用地址:http://www.104case.com/article/94541.htm

          對(duì) 軟件自動(dòng)生成的外部代碼進(jìn)行最優(yōu)化,在x86構(gòu)架下獲得最大性能,進(jìn)而測(cè)量目標(biāo)系統(tǒng)中DLL性能。

          The Solution:

          在不修改源代碼的條件下,通過(guò)Intel C++ 編譯器在單核PC上實(shí)現(xiàn)2.5 倍提速,通過(guò)編譯器中的各類最優(yōu)化選項(xiàng)在雙核PC 上實(shí)現(xiàn)超過(guò)4.5 倍提速。

          "VTune能夠監(jiān)測(cè)許多不同種類的構(gòu)架事件。VTune調(diào)諧助手能夠給出如何更好使用這些事件的建議。"

          本應(yīng)用包括了兩個(gè)組件——用于計(jì)算Pi 值的DLL、調(diào)用DLL 庫(kù)函數(shù)的 應(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);

         ?。?/p>

          我們的目標(biāo)是通過(guò)編譯器中的優(yōu)化選項(xiàng)以最快速度完成上述計(jì)算。

          應(yīng)用中有4 個(gè)函數(shù),均包含于獨(dú)立源文件中。我們采用不同優(yōu)化開關(guān)來(lái)編譯每個(gè)源文件。如圖1 所示。

         

          表1.應(yīng)用中的函數(shù)


        上一頁(yè) 1 2 3 4 下一頁(yè)

        關(guān)鍵詞: NI LabVIEW X86

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 饶平县| 麦盖提县| 岳阳市| 龙门县| 湾仔区| 泽州县| 阿鲁科尔沁旗| 菏泽市| 即墨市| 隆化县| 东港市| 呈贡县| 鄄城县| 霸州市| 温泉县| 宜兴市| 思茅市| 阿荣旗| 桂平市| 宕昌县| 涡阳县| 措勤县| 徐水县| 太仆寺旗| 丰顺县| 涪陵区| 永德县| 黑龙江省| 云和县| 启东市| 邵阳市| 菏泽市| 舞阳县| 烟台市| 久治县| 乌海市| 西乡县| 池州市| 阿克苏市| 额敏县| 浦县|