撰寫平行處理程式面臨挑戰越來越高,平行運算(parallel programming)可能是當今電腦科技世界所遇最大問題,不過從無人自走車、機器人開發、綠色工程/能源監控、無線通訊、模擬分析等先進科技應用,勢必需要平行處理系統。例如自主式無人載具的平行軟體架構,從路徑規劃、位置判斷到感測器訊號,都需要繁複精細的平行運算架構。
圖為美商國家儀器(NI)行銷經理吳維翰。(Source:HDC) |
美商國家儀器(NI)行銷經理吳維翰表示,建構平行處理系統的挑戰包括訊號輸入輸出、計算和程式運作以及客製化元件設計,與之相對應的應用領域便是無線傳輸、多核心與FPGA。吳維翰指出,NI從22年前開始創設LabVIEW虛擬儀控平台,便以支援平行處理的圖形化程式語言為職志,圖形化系統設計一直是LabVIEW的核心。整體來看,LabVIEW 可針對包括溫度、聲音、振動、電壓、電流、電阻等變化較慢的物理現象,顯示圖形化儀控結果。現在NI所革新的圖形化設計平台LabVIEW 8.6版本,更可利用無線技術突破傳統儀器擷取限制,並可在桌上型電腦進行多核心超運算,亦可藉由FPGA快速建立客製化系統元件。
吳維翰進一步說明指出,最新LabVIEW 8.6單一平台即可使用多核心處理器提升測試與控制系統的輸出率;縮短高效能FPGA進階控制與嵌入式原型製作應用的開發時間;並可建立遠端擷取資料的分散式系統。在無線量測方面,針對Wi-Fi 802.11g、PXIe、PCIe、USB、Ethernet等最新無線資料擷取介面,LabVIEW 8.6無須更改程式碼、使用DAQ硬體即可設定資料擷取應用。LabVIEW 8.6平台可將3D模型與擷取資料視覺化整合顯示出來,亦能進一步擴充新式資料擷取應用領域。例如藉由LabVIEW 8.6可快速導入新款Wi-Fi擷取裝置,應用在SAPHIR提供建築工地的振動和噪音訊號監控系統。
至於多核心超運算方面,LabVIEW 8.6平台內建的多執行緒功能,可自動分配時緒(thread)至不同核心執行,並擁有超過1200種多核心分析函數,使多核心系統更快速處理數學和訊號流程。LabVIEW 8.6控制設計與模擬迴圈模組,能在多核心系統上提升5倍效能,充分發揮多核心自動切割分交CPU核心執行的性能。LabVIEW 8.6可自動整理程式碼,使工持師更準確辨識程式碼平行區段。吳維翰強調,LabVIEW 8.6多核心技術能有效應用在歐洲VLT、ALMA、以及E-ELT等太空研究中心計劃的控制天文大型望遠鏡面項目,藉由圖形化顯示、用8迴圈核心執行、詮釋、收斂相關程式,呈現984個六角形鏡面角度傾斜補償的複雜數學運算結果,進一步滿足完全控制鏡面水平的技術要求。
此外在協助FPGA 快速建立客製化系統元件部分,吳維翰指出,LabVIEW 8.6可簡化程式撰寫流程,例如將I/O with DMA記憶體傳輸的VHDL程式語言,轉化成清楚簡單的圖形化介面。加上Scan Engine和系統模擬功能可協助工程師減少程式編輯時間,IP開發工具亦可加速FPGA開發流程,LabVIEW 8.6也能重複使用程式碼於新硬體當中。吳維翰舉例說明表示,LabVIEW 8.6可簡化CompactRIO的程式設計,搭配後者FPGA架構的COTS硬體,便能客製化設計量測與控制系統,提升諸如報廢金屬處理過程和進階電力監控分析、國際貨運航線火苗警報器與滅火裝置等應用效能。