楊冠男 袁杰
摘要:隨著并行處理技術的發展,并行計算正不斷應用于科學計算領域之外的眾多工程領域,圖像并行處理技術更是在傳統的圖像處理領域發揮著重要作用。在此主要是基于多核CPU的分布式并行計算Matlab PCT加速圖像處理,依照并行處理規則,尋求問題并行歸約,憑借有效的硬件資源,對其進行并行處理,提高程序執行效率,縮短計算延時。通過Matlab和Visual C++兩個平臺,實現了對圖像工程的并行加速處理,結果證明經并行處理后的圖像工程在計算效率方面有顯著提高,結果精確,計算耗時小。
關鍵詞:圖像處理; 并行處理技術; 分布式計算; Matlab PCT
中圖分類號:TN19?34 文獻標識碼:A 文章編號:1004?373X(2013)02?0036?03
0 引 言
圖像并行處理技術是將并行計算應用于圖像處理中以提高圖像處理速度的一種技術,它是圖像處理中的一個重要方面。多核(又叫多處理器或多CPU)分布式并行計算就是并行處理的一種解決方式,是將并行計算的方法應用于分布式計算模式下[1?4]。具體的說,是將一個復雜問題分解成能夠并行求解的若干子問題,對這些子問題采用并行處理后將結果進行重新組合得到原復雜問題的最終結果[5?6]。
1 Matlab PCT
MatlabPCT(Parallel Computing Toolbox)是MathWorks公司為Matlab開發的一套專門用于多核計算機、多GPU以及計算機集群并行計算的并行計算工具箱。該工具箱提供了高級架構:并行for循環、特有的數據類型以及并行數據算法:以此解決大型的數據密集型科學計算和模型仿真。
Matlab PCT的主要特點:
(1)并行for循環(parfor)用于多核處理器運行任務并行算法;
(2)支持多核計算機最多本地運行8個workers;
(3)支持計算機集群和網格計劃;
(4)交互式和批量執行并行應用;
(5)分布式陣列和單程序多數據(spmd)構造大數據集處理方法以及數據并行算法;
(6)支持英偉達的CUDA架構用于多GPU并行計算。
Matlab PCT提供了多個高層次的編程結構,轉換應用程序可以充分利用多核處理器的計算機配置資源優勢。針對分布式處理器構造并行for循環和特殊的數組類型,通過抽象Matlab節點和計算資源間復雜的計算管理和數據,極大地簡化了代碼開發過程。圖1是在利用Matlab PCT在計算機集群上實現分布式并行計算的示意圖。
3 結 語
Matlab PCT是將基于多核的分布式并行計算術應用于實際處理的圖像工程中。依照并行處理規則,憑借有效的硬件資源,對其進行并行處理,提高程序執行效率,縮短計算延時。通過Matlab和Visual C++兩個平臺,實現了對圖像工程的并行加速處理,在性能效益方面都有明顯的改善。
參考文獻
[1] 趙暉,趙仕波,張志華.并行計算機與并行算法評述[J].成都理工學院學報,1996(23):119?120.
[2] 胡峰,胡保生.并行計算技術與并行算法綜述[J].電腦與信息技術,1999(5):50?52.
[3] CULLE D E.并行計算機體系結構[M].李曉明,錢德沛,譯.北京:機械工業出版社,2003.
[4] 房鼎益,周興社.分布式系統研究進展[J].微電子學與計算機,2000(6):9?11.
[5] MATTSON Timothy G, SANDERS Beverly A, MASSINGILL Berna L.并行編程模式[M].敖富江,譯.北京:清華大學出版社,2004.
[6] LIU M L.分布式計算原理與應用[M].顧鐵成,王亞麗,譯.北京:清華大學出版社,2004.
[7] 陳白帆,蔡自興.基于尺度空間理論的Harris角點檢測[J].中南大學學報,2005,36(5):751?753.
[8] 左森,郭曉松.寬基線視察圖像的拼接算法[J].計算機工程,2007,33(10):175?176.
[9] 羅靜,楊繼新,王旭. 三維人體夾膜技術[J].大連工業大學學報,2009,28(5):378?381.
[10] 楊文明.三維坐標變換的計算與編程[J].深圳信息職業技術學院學報,2007(2):13?15.
[11] 高媛媛,蔡樂才,劉強國.基于Matlab機群的分布式并行圖像匹配算法[J].四川理工學院學報,2011,24(5):545?546.