技術(shù)白皮書(shū):多核系統編程技術(shù)
在LabVIEW中開(kāi)發(fā)應用程序的主要優(yōu)勢是這種語(yǔ)言有著(zhù)直觀(guān)、圖形化的特點(diǎn)。在LabVIEW中,用戶(hù)解決工程問(wèn)題就像是在紙上畫(huà)框圖一樣?,F代多核處理器技術(shù)使得LabVIEW成為一種更適合的編程工具,因為它有著(zhù)并行化表達和執行任務(wù)的能力。
LabVIEW的數據流特性使得如果連線(xiàn)中存在著(zhù)分支,或者是框圖中存在并行序列,那么LabVIEW執行機構會(huì )嘗試著(zhù)并行的執行程序。在計算機科學(xué)術(shù)語(yǔ)中,這稱(chēng)為“潛在的并行化”,因為你不需要根據并行運行的需要明確地編寫(xiě)并行代碼,編程語(yǔ)言自己會(huì )進(jìn)行一定程度的并行化。
從單核到雙核計算機,理論上講,獲得的性能應該是原來(lái)的兩倍。但是,與這個(gè)極限接近的程度取決于用戶(hù)應用程序運行的并行化程度。LabVIEW程序員們可以很方便的以并行方式來(lái)表示他們的解決方案。對于普通的LabVIEW應用程序而言,如果不考慮多核心編程技術(shù),在不改寫(xiě)代碼的情況下,與最初的程序相比,可以獲得25%到35%的性能提升,這都是緣于普通LabVIEW程序所具有的并行特性。
圖2是一個(gè)簡(jiǎn)單的應用程序的例子。其中,LabVIEW代碼中的分支簡(jiǎn)化了兩個(gè)分析任務(wù)——一個(gè)濾波器操作和一個(gè)快速傅立葉變換(FFT),使它們可以在雙核機器上并行執行。在圖表中沒(méi)有顯示的性能測試代碼,它首先在單核模式下(關(guān)掉其中的一個(gè)核)運行“for loop”一次,然后在雙核的模式下運行。因為這兩項任務(wù)都是計算量很高的,利用任務(wù)并行化獲得的性能改進(jìn)為原來(lái)的1.8倍。
評論