日本福利一区_最近中文高清在线观看_免费黄色电影在线观看_亚洲天堂成人在线 - 91人人

用戶中心
· 企業空間 首頁 | 資訊 | 技術 | 產品 | 企業 | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
美國國家儀器(NI)有限公司
企業空間 > 案例應用 > 正文
  • 如何創建及諧調支持多核的LabVIEW x86客戶DLL
  • 發布時間:   修改時間:2009/5/20 22:09:00 瀏覽次數:1917
  •   本應用包括了兩個組件——用于計算Pi 值的DLL、調用DLL 庫函數的LabVIEW 應用,可將結果顯示在圖形用戶界面中。
      為計算Pi 值,我們采用了近似綜合技術,需要在單個循環中完成數百萬次浮點計算。選擇該范例是因為它是CPU 密集型的,并且是可優化的應用。如下所示為外部代碼的主循環結構,CPU的主要計算量是處理CalcSum 函數。
      for(i=0; i<num_steps; i++)
      {
      sum = CalcSum(i, sum, step);
      }
      我們的目標是通過編譯器中的優化選項以最快速度完成上述計算。
      應用中有4 個函數,均包含于獨立源文件中。我們采用不同優化開關來編譯每個源文件。如圖1 所示。


      表1.應用中的函數

    表1


      “即插即用”的Intel C++ 編譯器
      我們采用即插即用的Intel C++ 來代替Microsoft 編譯器,它可以輕松地集成到現有Microsoft Visual Studio DLL 工程中。更多關于Intel 編譯器,請訪問intel.com/software。
      默認設置
      測量首先以/O2選項創建應用,許多優化都是在這個層面上進行的。本文在此不討論其細節問題。表2顯示了/O2選項集成的各個優化設置。


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

    ./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編譯器用戶反饋中了解到,使用這些優化方式可顯著提高代碼執行速度。

  • 企業介紹
30多年來,美國國家儀器公司(NI)幫助測試、控制、設計領域的工程師與科學家解決了從設計、原型到發布過程中所遇到的種種挑戰。通過現成可用的軟件,如LabVIEW, 以及高性價比的模塊化硬件,NI幫助各領域的工程師不斷創新,在縮短產品問世時間的同…  更多>>
  • 產品分類
  • 該公司暫未設置產品類別
  • 聯系方式

美國國家儀器(NI)有限公司

聯系人:NI

地址:上海浦東張江集電港二期張東路1387號第45幢

郵編:201203

電話:021-50509800

傳真:021-65556244

公司網址:http://ni.com/china

  • 該空間手機版

掃描此二維碼即可訪問該空間手機版

  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點擊這里注冊.
  • 網友反饋
  • 夏琳 在2024/12/23 14:49:00留言
  • 留言類型:我想得到貴公司產品的價格信息,
  • 詳細留言:PXI-1000-14機箱
  • 陳女士 在2024/12/13 15:43:00留言
  • 留言類型:我讓貴公司技術支持人員聯系我,
  • 詳細留言:我想了解Labview支持哪些國內操作系統
  • 黃先生 在2024/11/18 13:57:00留言
  • 留言類型:我讓貴公司技術支持人員聯系我,
  • 詳細留言:GPIB-232CT-A安裝驅動軟件
  • 李孟釗 在2024/10/10 15:54:00留言
  • 留言類型:貴公司技術支持人員聯系我,
  • 詳細留言:在貴公司購買了數據采集卡 需要通過配套軟件使用 但因為電腦變動 現在需要重新安裝一遍NI DAQExpress軟件
  • 于紅 在2024/8/5 12:46:00留言
  • 留言類型:貴公司產品銷售人員聯系我,
  • 詳細留言:NI PCI-5114
更多請進入空間管理中心查看
關于我們 | 網站地圖 | 聯系我們
© 2003-2018    經營許可編號:京ICP證120335號
公安機關備案號:110102002318  服務熱線:010-82053688
我要反饋