“世界是并行的。人是并行的。計算機是并行的。為什么要把我們自己限制在順序編程語言中呢?”
Jeff Kodosky是NI LabVIEW軟件之父,他在幾年前一年一度的NIWeek會議上提出了這個問題。在您閱讀這篇文章的時候,您的大腦正在同時處理多個并行操作,例如圖像采集、視覺特征識別、文字解析、數據處理、數據存儲和運動控制功能——所有這些事情的進行同時還維持著重要的生命機能,包括呼吸、將血液送到全身、產生能量等等。這些關鍵技能中有一部分需要自己有意識的思考,但是大部分并不需要。
相似的,您現在創建的測量與控制系統也可以同時進行多項任務。計算領域的工程創新引進了許多建立更高效并行系統所需的關鍵技術:多核處理器、現場可編程門陣列(FPGA)和無線通信。使用這些傳統工具利用這些關鍵技術并不十分容易;但是,如果在應用中使用這些技術,就可以獲得性能更高的系統,提高測量與自動化系統的吞吐量,降低成本。LabVIEW的最新版本8.6為您提供了使用下一代并行技術所需的工具,從多核處理器到高性能FPGA直至無線設備。
?
圖1:NI機器視覺開發模塊的例如圖像卷積函數等多個圖像處理函數現在能夠自動分配到多個核心進行處理。
1. 在桌面上進行多核超級計算
在世界最頂級的500臺超級計算機( )的最新排名中,有77%使用了多核處理器簇,而在2007年這個數字只有22%。這些超級計算機和您現在PC中使用的多核處理器是相同的。當然,要充分利用這些超級計算機需要編寫專用的軟件。幸運的是,LabVIEW的設計就已經考慮了并行處理,對多任務處理的支持已經長達10多年。
?
圖2:LabVIEW 8.6為FPGA編程提供了強大的算法工程平臺,包含了交互式用戶界面、大型分析庫以及到實時硬件原型上的快速移植。
LabVIEW 8.6是基于現有的多核兼容性而編寫的,大大提高了利用多核處理所能夠獲得的性能。在LabVIEW 8.6中超過1200個數學和信號處理庫中的函數已經為多核系統進行了優化;此外,新型的高級緩存連續技術能夠進一步提高性能。這樣使得對CPU核心的使用更為高效。舉例來說,相對于單核系統而言,一個運行在八核系統上的基準測試程序運行快了6.6倍。LabVIEW控制設計與仿真模塊也使用了多核處理器,執行并行動態系統仿真模塊快了5倍。NI機器視覺開發模塊中的多個圖像處理函數已經為自動將任務平分到多個核心中進行了優化。例如,圖像卷積函數的基準測試在雙核系統上運行快了高達15倍(見圖1)。這些新型特性為您的測量或控制系統提供了超級計算機級別的性能。
2. 降低FPGA開發時間
FPGA可能是現在并行能力最高的可編程計算硬件,為測量和控制系統提供了前所未有的性能和可靠性。但是,由于FPGA的開發困難重重,許多工程師不太愿意涉足FPGA編程。甚至算法設計專家在進行定點實現的工作也覺得十分困難。LabVIEW提供了強大的算法工程平臺,使用交互式用戶界面、大型分析庫和與實時硬件原型的快速移植特性,滿足了這些挑戰的需求。LabVIEW 8.6擴展了這些課題,解決了下面列出的最為常見的FPGA挑戰。
1、使用傳統的FPGA開發軟件需要數字設計的專業知識——使用LabVIEW直觀的數據流模型,您可以使用圖形化LabVIEW FPGA模塊,對FPGA進行編程,而不必學習硬件描述語言(HDL)的復雜內容。
2、FPGA代碼在執行之前可能需要很長的編譯周期——LabVIEW 8.6大大增強了FPGA開發和調試特性,您可以在無需編譯的情況下,在開發計算機上對FPGA和主機接口代碼進行仿真。此外,現在您可以在無需修改FPGA代碼的情況下,通過仿真I/O信號為FPGA邏輯建立測試工作臺,在編譯之前對設計進行驗證。
如果您使用NI CompactRIO硬件,就可以利用LabVIEW 8.6中全新的CompactRIO掃描模式特性,無需對FPGA進行編程,訪問實時處理器的I/O。有了這個全新選項,在您的應用程序需要更高性能或是自定義行為時,可以選擇“全面開啟”FPGA。
3、將算法從軟件原型移植到硬件實現中十分困難——由于LabVIEW可以運行在臺式機平臺和FPGA上,相對于使用傳統工具需要重寫算法而言,從臺式機到硬件的過渡十分平滑。LabVIEW 8.6中FPGA上的新增定點數據類型支持和例如快速傅立葉變換(FFT)函數等高級分析知識產權(IP)使得這種過渡更加順利。
4、使用最新的FPGA硬件更新設計需要耗費時間和資金——LabVIEW通過利用硬件抽象保護了您的開發投資,因此您可以使用全新硬件平臺,例如基于Xilinx Virtex-5 FPGA的NI R系列設備和NI單板RIO板卡專用可重復配置I/O(RIO)平臺,而無需對LabVIEW FPGA代碼進行修改。
3. 簡化Wi-Fi測量系統的實現
LabVIEW除了簡化了在多核處理器和FPGA上的并行代碼開發之外,還通過為新型NI Wi-Fi數據采集(DAQ)設備提供支持,簡化了并行分布式測量的開發和部署。盡管很久之前LabVIEW就已經為一系列插入式和有線總線的數據采集提供了支持,包括PCI、PXI、USB、LAN和GPIB,但是在數據采集應用中無線技術的引進卻慢了很多。這主要是因為對可靠、安全、高性能無線系統的編程和部署相對更為復雜。隨著Wi-Fi(IEEE 802.11)在IT領域中普及以來,性能、可靠性和安全性已經大大提高了這個技術能夠適用于包括數據采集在內的關鍵任務的可行性。
對基于Wi-Fi的LabVIEW配置和數據采集步驟和對本地插入式USB設備的信號采集是相似的。兩者都使用相同的LabVIEW應用程序接口(API)連接NI-DAQmx驅動程序,從而避免了在將Wi-Fi設備加入到現有有線或插入式NI數據采集系統時所需的代碼修改。在LabVIEW中進行編程的時候,您可以使用NI數據采集助手,這是一個基于配置的向導,能夠幫助您定義測量,快速方便地通過Wi-Fi采集數據。LabVIEW 8.6中的數據采集助手和NI-DAQmx API使得將您的Wi-Fi系統從幾十個擴展到上百個設備變得十分容易。現在您可以將LabVIEW 8.6和新型NI Wi-Fi數據采集驅動程序用于以下應用領域:
1、用于預測維護的機器監視——機器狀態監視可以預防意外事故、優化機器性能,并且降低修理時間和維護成本。使用LabVIEW和Wi-Fi振動測量,可以大大減少與機器監視相關的安裝和布線成本。Wi-Fi數據采集還簡化了筆記本電腦和基于PC的移動現場診斷系統的建立。
2、結構狀態的診斷監視——結構狀態監視包括通過負載、壓力和張力等主要指標對建筑和橋梁的性能進行評估。由于這些結構尺寸較大,使用有線解決方案成本高昂,并且難于實現。對于這些及其他動態結構測試應用而言,高帶寬的全新NI Wi-Fi數據采集設備是使用LabVIEW在線分析,進行振動和張力測量連續數據流傳送的理想選擇。
3、環境質量監視——環境監視的范圍包括土壤、水和空氣的完整度直至與溫度和濕度調節相關的服務器與易損品等重要資產的室內儲藏。使用LabVIEW和Wi-Fi熱電偶和電壓測量,建立安裝與支持簡單的無線遠程監督解決方案。
?
圖3:您可以在多種應用中將新型Wi-Fi數據采集設備與LabVIEW一起使用,其中包括機器、診斷與環境監視。
4. LabVIEW 8.6中的其他新特性
除了繼續引進多核處理器、FPGA和Wi-Fi測量等最新并行技術之外,LabVIEW 8.6還包括了為長期老用戶專門設計的新增特性和重要改進。一個十分顯著的改變是通過LabVIEW平臺DVD套件所帶來的更好的用戶體驗,它大大簡化了LabVIEW開發系統、附加模塊和工具包以及NI兼容設備驅動程序的安裝。在單一的對話框中,您可以安裝分布在多張DVD上的軟件,并且盡可能少地更換媒介。您還可以對DVD上所包含的您暫時并不擁有的軟件進行30天的評估。
LabVIEW 8.6還包括了新增開發特性,可以提高工作效率,其中包括全新的程序框圖整理工具,只需要單擊鼠標,就可以按照LabVIEW風格指南中所給出的編程建議對程序框圖進行大小改變和重新排列。我們知道LabVIEW選板隨著LabVIEW平臺的發展,變得越來越復雜,LabVIEW 8.6也引進了快速放置功能,您可以使用可預測方式進行選擇,對前面板和程序框圖對象進行查找和放置。
世界是并行的,工程師和科學家必須能夠基于可響應的軟件,開發測量與自動化系統。LabVIEW 8.6可以充分利用多核處理器、FPGA以及Wi-Fi數據采集設備,它提供了由其自身圖形化編程平臺所帶來的相同優點——無論何如復雜都可以利用最新PC技術的能力。
評論
查看更多