新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 技術(shù)白皮書(shū):多核系統(tǒng)編程技術(shù)

技術(shù)白皮書(shū):多核系統(tǒng)編程技術(shù)

作者: 時(shí)間:2009-04-13 來(lái)源:網(wǎng)絡(luò) 收藏

——一種圖形化

中開(kāi)發(fā)應(yīng)用程序的主要優(yōu)勢(shì)是這種語(yǔ)言有著直觀、圖形化的特點(diǎn)。在中,用戶解決工程問(wèn)題就像是在紙上畫(huà)框圖一樣。現(xiàn)代多核處理器技術(shù)使得LabVIEW成為一種更適合的編程工具,因?yàn)樗兄⑿谢磉_(dá)和執(zhí)行任務(wù)的能力。

LabVIEW的特性使得如果連線中存在著分支,或者是框圖中存在并行序列,那么LabVIEW執(zhí)行機(jī)構(gòu)會(huì)嘗試著并行的執(zhí)行程序。在計(jì)算機(jī)科學(xué)術(shù)語(yǔ)中,這稱(chēng)為“潛在的并行化”,因?yàn)槟悴恍枰鶕?jù)并行運(yùn)行的需要明確地編寫(xiě)并行代碼,自己會(huì)進(jìn)行一定程度的并行化。

從單核到雙核計(jì)算機(jī),理論上講,獲得的性能應(yīng)該是原來(lái)的兩倍。但是,與這個(gè)極限接近的程度取決于用戶應(yīng)用程序運(yùn)行的并行化程度。LabVIEW程序員們可以很方便的以并行方式來(lái)表示他們的解決方案。對(duì)于普通的LabVIEW應(yīng)用程序而言,如果不考慮多核心編程技術(shù),在不改寫(xiě)代碼的情況下,與最初的程序相比,可以獲得25%到35%的性能提升,這都是緣于普通LabVIEW程序所具有的并行特性。

圖2是一個(gè)簡(jiǎn)單的應(yīng)用程序的例子。其中,LabVIEW代碼中的分支簡(jiǎn)化了兩個(gè)分析任務(wù)——一個(gè)濾波器操作和一個(gè)快速傅立葉變換(FFT),使它們可以在雙核機(jī)器上并行執(zhí)行。在圖表中沒(méi)有顯示的性能測(cè)試代碼,它首先在單核模式下(關(guān)掉其中的一個(gè)核)運(yùn)行“for loop”一次,然后在雙核的模式下運(yùn)行。因?yàn)檫@兩項(xiàng)任務(wù)都是計(jì)算量很高的,利用任務(wù)并行化獲得的性能改進(jìn)為原來(lái)的1.8倍。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉