多核CPU和GPU的高光譜數(shù)據(jù)并行幾何校正

2013-09-23 14:34 來源:電子信息網(wǎng) 作者:洛小辰

高光譜遙感影像數(shù)據(jù)量大、操作復(fù)雜的特點(diǎn)使其處理過程對于高性能并行計(jì)算的需求是十分迫切的。高性能計(jì)算是以并行計(jì)算的形式同時(shí)使用多種計(jì)算資源解決大型且復(fù)雜的計(jì)算問題。

目前,國內(nèi)外學(xué)者針對不同的高光譜遙感應(yīng)用研究其高性能并行計(jì)算方法。目前,基于GPU的并行計(jì)算將CPU作為主機(jī)端,其作用類似一個控制器,決定何時(shí)調(diào)用GPU函數(shù)進(jìn)行基于GPU的并行計(jì)算。該計(jì)算模型充分利用了GPU的高計(jì)算性能,卻忽視了CPU本身的運(yùn)算能力,在多核CPU普及的情況下浪費(fèi)了系統(tǒng)資源。本文提出一種基于多核CPU和GPU的并行計(jì)算模型,在GPU強(qiáng)大的計(jì)算能力進(jìn)行并行計(jì)算的同時(shí)利用多核CPU創(chuàng)建多線程進(jìn)行數(shù)據(jù)讀/寫,隱藏?cái)?shù)據(jù)I/O時(shí)間。

1 基于POS數(shù)據(jù)的幾何校正方法

在遙感數(shù)據(jù)獲取過程中,由于地形起伏、遙感器平臺位置姿態(tài)等原因,遙感影像存在不同程度的幾何畸變。遙感影像數(shù)據(jù)在面向應(yīng)用之前需進(jìn)行幾何校正,消除幾何畸變。本文所涉及的高光譜遙感影像數(shù)據(jù)幾何校正是基于POS的幾何校正。其過程包含坐標(biāo)變換和重采樣兩個部分。坐標(biāo)變換是指利用獲取遙感影像時(shí)記錄的POS數(shù)據(jù)(飛機(jī)飛行參數(shù)和姿態(tài)信息等)和測區(qū)DEM高程數(shù)據(jù)建立共線方程、求解坐標(biāo)系轉(zhuǎn)換矩陣,獲取各像元地面坐標(biāo)。坐標(biāo)轉(zhuǎn)換過程算法復(fù)雜,計(jì)算量較大。

重采樣是指根據(jù)求得的像元地面坐標(biāo)并結(jié)合原始影像數(shù)據(jù)信息,計(jì)算校正后影像像元灰度值,得到幾何校正遙感影像。重采樣過程需要在空間維和光譜維遍歷高光譜數(shù)據(jù)立方體,計(jì)算量大,數(shù)據(jù)I/O頻繁。兩個步驟的特點(diǎn)決定幾何校正過程計(jì)算耗時(shí),需通過并行計(jì)算提高其處理速度。

2 并行幾何校正

2.1 幾何校正并行方法和實(shí)現(xiàn)

坐標(biāo)轉(zhuǎn)換針對各像元進(jìn)行單獨(dú)計(jì)算,計(jì)算過程相互獨(dú)立,因此能夠采用基于GPU并行計(jì)算平臺實(shí)現(xiàn)各像元坐標(biāo)轉(zhuǎn)換矩陣并行計(jì)算。重采樣過程中各個波段之間的計(jì)算不相關(guān),屬于空間維計(jì)算,且各計(jì)算區(qū)域的相關(guān)性低。按光譜維劃分?jǐn)?shù)據(jù),依次將待處理數(shù)據(jù)塊輸入到GPU中,實(shí)現(xiàn)各空間點(diǎn)或空間區(qū)域之間的并行計(jì)算。并行計(jì)算大幅降低幾何校正過程的計(jì)算時(shí)間,高光譜數(shù)據(jù)I/O時(shí)間所占比例提升,限制了處理速度的進(jìn)一步提升。因此,研究數(shù)據(jù)I/O的優(yōu)化方法對于提升并行計(jì)算速度是十分必要的。

2.2 基于CPU和GPU系統(tǒng)的I/O優(yōu)化方法

在基于GPU的并行幾何校正算法中,重采樣部分的數(shù)據(jù)讀/寫時(shí)間相比計(jì)算時(shí)間所占比例大幅提高,I/O瓶頸限制了并行程序運(yùn)行效率的進(jìn)一步提高。

計(jì)算模型是對一類計(jì)算機(jī)系統(tǒng)提供抽象描述,即用少量參數(shù)簡單、充分地反映該系統(tǒng)的資源和性能特征?;贑PU和GPU異構(gòu)并行計(jì)算模型可由式(1)表述:

a.JPG

式中:Tread和Twrite是數(shù)據(jù)I/O時(shí)間;TGPU為主機(jī)端調(diào)用核函數(shù)進(jìn)行GPU并行計(jì)算的時(shí)間,包括通信時(shí)間和計(jì)算時(shí)間;T1,T2,…,TN-1,為各個CPU處理核心/線程執(zhí)行任務(wù)的處理時(shí)間。

根據(jù)式(1)所描述的計(jì)算模型,實(shí)現(xiàn)I/O優(yōu)化。在主線程進(jìn)行基于GPU的并行計(jì)算的同時(shí),創(chuàng)建多個派生線程并分配給每個線程一定任務(wù)并行執(zhí)行。針對高光譜應(yīng)用的特點(diǎn),參考流水線的并行思想,利用CPU多核特性,設(shè)計(jì)基于多線程的并行方法,將讀數(shù)據(jù)、計(jì)算、寫數(shù)據(jù)三個互不相關(guān)的過程分配給三個線程同時(shí)運(yùn)行,線程一從磁盤讀取未計(jì)算數(shù)據(jù)塊并存到內(nèi)存中,線程二調(diào)用核函數(shù)對內(nèi)存中待計(jì)算的數(shù)據(jù)塊進(jìn)行基于GPU的并行計(jì)算,線程三對內(nèi)存中已計(jì)算數(shù)據(jù)塊的計(jì)算結(jié)果進(jìn)行寫操作。I/O與計(jì)算并行執(zhí)行可隱藏部分I/O時(shí)間。基于CPU和GPU的并行計(jì)算每個數(shù)據(jù)塊的計(jì)算時(shí)間可由式(2)中的Ti優(yōu)化為式(3)中的Ti’。

31


式中:TI/O是并行讀寫優(yōu)化后數(shù)據(jù)I/O時(shí)間。數(shù)據(jù)讀、寫并行化能夠提高存儲帶寬利用率,降低I/O總時(shí)間,可知TI/O

32


對比式(4)和式(5),易知該處理過程通過任務(wù)級并行計(jì)算隱藏部分?jǐn)?shù)據(jù)I/O時(shí)間(此處i為處理的數(shù)據(jù)塊編號,n為數(shù)據(jù)塊的總數(shù)目)。

33


3 實(shí)驗(yàn)結(jié)果與分析

3.1 實(shí)驗(yàn)平臺參數(shù)

基于CPU和GPU的并行計(jì)算平臺處理核心參數(shù)如表1和表2所示。

1 2 > 
CPU 幾何校正 GPU

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門