基于多核CPU和GPU的高光譜數(shù)據(jù)并行幾何校正
摘要:針對高光譜幾何校正計算復(fù)雜,大數(shù)據(jù)量頻繁傳輸降低處理效率,無法滿足實時需求等問題。提出基于多核CPU和GPU的并行計算模型。實現(xiàn)基于GPU的并行幾何校正,并引入流水線并行思想提出基于多線程的數(shù)據(jù)讀寫優(yōu)化方法,實現(xiàn)重采樣部分的數(shù)據(jù)I/O優(yōu)化。應(yīng)用航空推掃成像儀所得高光譜數(shù)據(jù)進行實驗,驗證該方法能夠有效地隱藏部分硬盤與內(nèi)存間的數(shù)據(jù)I/O時間,幾何校正加速比達到4.03,在基于GPU的并行計算基礎(chǔ)上提高了1.74倍。
關(guān)鍵詞:高光譜數(shù)據(jù);幾何校正;并行計算;多核CPU
0 引言
高光譜遙感影像數(shù)據(jù)量大、操作復(fù)雜的特點使其處理過程對于高性能并行計算的需求是十分迫切的。高性能計算是以并行計算的形式同時使用多種計算資源解決大型且復(fù)雜的計算問題。
目前,國內(nèi)外學(xué)者針對不同的高光譜遙感應(yīng)用研究其高性能并行計算方法。目前,基于GPU的并行計算將CPU作為主機端,其作用類似一個控制器,決定何時調(diào)用GPU函數(shù)進行基于GPU的并行計算。該計算模型充分利用了GPU的高計算性能,卻忽視了CPU本身的運算能力,在多核CPU普及的情況下浪費了系統(tǒng)資源。本文提出一種基于多核CPU和GPU的并行計算模型,在GPU強大的計算能力進行并行計算的同時利用多核CPU創(chuàng)建多線程進行數(shù)據(jù)讀/寫,隱藏數(shù)據(jù)I/O時間。
1 基于POS數(shù)據(jù)的幾何校正方法
在遙感數(shù)據(jù)獲取過程中,由于地形起伏、遙感器平臺位置姿態(tài)等原因,遙感影像存在不同程度的幾何畸變。遙感影像數(shù)據(jù)在面向應(yīng)用之前需進行幾何校正,消除幾何畸變。本文所涉及的高光譜遙感影像數(shù)據(jù)幾何校正是基于POS的幾何校正。其過程包含坐標變換和重采樣兩個部分。坐標變換是指利用獲取遙感影像時記錄的POS數(shù)據(jù)(飛機飛行參數(shù)和姿態(tài)信息等)和測區(qū)DEM高程數(shù)據(jù)建立共線方程、求解坐標系轉(zhuǎn)換矩陣,獲取各像元地面坐標。坐標轉(zhuǎn)換過程算法復(fù)雜,計算量較大。
重采樣是指根據(jù)求得的像元地面坐標并結(jié)合原始影像數(shù)據(jù)信息,計算校正后影像像元灰度值,得到幾何校正遙感影像。重采樣過程需要在空間維和光譜維遍歷高光譜數(shù)據(jù)立方體,計算量大,數(shù)據(jù)I/O頻繁。兩個步驟的特點決定幾何校正過程計算耗時,需通過并行計算提高其處理速度。
2 并行幾何校正
2.1 幾何校正并行方法和實現(xiàn)
坐標轉(zhuǎn)換針對各像元進行單獨計算,計算過程相互獨立,因此能夠采用基于GPU并行計算平臺實現(xiàn)各像元坐標轉(zhuǎn)換矩陣并行計算。重采樣過程中各個波段之間的計算不相關(guān),屬于空間維計算,且各計算區(qū)域的相關(guān)性低。按光譜維劃分數(shù)據(jù),依次將待處理數(shù)據(jù)塊輸入到GPU中,實現(xiàn)各空間點或空間區(qū)域之間的并行計算。并行計算大幅降低幾何校正過程的計算時間,高光譜數(shù)據(jù)I/O時間所占比例提升,限制了處理速度的進一步提升。因此,研究數(shù)據(jù)I/O的優(yōu)化方法對于提升并行計算速度是十分必要的。
2.2 基于CPU和GPU系統(tǒng)的I/O優(yōu)化方法
在基于GPU的并行幾何校正算法中,重采樣部分的數(shù)據(jù)讀/寫時間相比計算時間所占比例大幅提高,I/O瓶頸限制了并行程序運行效率的進一步提高。
計算模型是對一類計算機系統(tǒng)提供抽象描述,即用少量參數(shù)簡單、充分地反映該系統(tǒng)的資源和性能特征?;贑PU和GPU異構(gòu)并行計算模型可由式(1)表述:
式中:Tread和Twrite是數(shù)據(jù)I/O時間;TGPU為主機端調(diào)用核函數(shù)進行GPU并行計算的時間,包括通信時間和計算時間;T1,T2,…,TN-1,為各個CPU處理核心/線程執(zhí)行任務(wù)的處理時間。
根據(jù)式(1)所描述的計算模型,實現(xiàn)I/O優(yōu)化。在主線程進行基于GPU的并行計算的同時,創(chuàng)建多個派生線程并分配給每個線程一定任務(wù)并行執(zhí)行。針對高光譜應(yīng)用的特點,參考流水線的并行思想,利用CPU多核特性,設(shè)計基于多線程的并行方法,將讀數(shù)據(jù)、計算、寫數(shù)據(jù)三個互不相關(guān)的過程分配給三個線程同時運行,線程一從磁盤讀取未計算數(shù)據(jù)塊并存到內(nèi)存中,線程二調(diào)用核函數(shù)對內(nèi)存中待計算的數(shù)據(jù)塊進行基于GPU的并行計算,線程三對內(nèi)存中已計算數(shù)據(jù)塊的計算結(jié)果進行寫操作。I/O與計算并行執(zhí)行可隱藏部分I/O時間?;贑PU和GPU的并行計算每個數(shù)據(jù)塊的計算時間可由式(2)中的Ti優(yōu)化為式(3)中的Ti’。
式中:TI/O是并行讀寫優(yōu)化后數(shù)據(jù)I/O時間。數(shù)據(jù)讀、寫并行化能夠提高存儲帶寬利用率,降低I/O總時間,可知TI/OTread+Twri te。全部數(shù)據(jù)處理時間則由式(4)中的Ttotal優(yōu)化為式(5)中的Ttotal’。
對比式(4)和式(5),易知該處理過程通過任務(wù)級并行計算隱藏部分數(shù)據(jù)I/O時間(此處i為處理的數(shù)據(jù)塊編號,n為數(shù)據(jù)塊的總數(shù)目)。
3 實驗結(jié)果與分析
3.1 實驗平臺參數(shù)
基于CPU和GPU的并行計算平臺處理核心參數(shù)如表1和表2所示。
波段開關(guān)相關(guān)文章:波段開關(guān)原理
網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理 熱成像儀相關(guān)文章:熱成像儀原理
評論