方民權(quán),周海芳,張衛(wèi)民,申小龍
(國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長(zhǎng)沙 410073)
GPU上高光譜快速ICA降維并行算法*
方民權(quán),周海芳,張衛(wèi)民,申小龍
(國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長(zhǎng)沙 410073)
高光譜影像降維快速獨(dú)立成分分析過程包含大規(guī)模矩陣運(yùn)算和大量迭代計(jì)算。通過分析算法熱點(diǎn),設(shè)計(jì)協(xié)方差矩陣計(jì)算、白化處理、ICA迭代和IC變換等關(guān)鍵熱點(diǎn)的圖像處理單元映射方案,提出并實(shí)現(xiàn)一種G-FastICA并行算法,并基于GPU架構(gòu)研究算法優(yōu)化策略。實(shí)驗(yàn)結(jié)果顯示:在處理高光譜影像降維時(shí),CPU/GPU異構(gòu)系統(tǒng)能獲得比CPU更高效的性能,G-FastICA算法比串行最高可獲得72倍加速比,比16核CPU并行處理快4~6.5倍。
圖像處理單元;高光譜影像降維;快速獨(dú)立成分分析;并行算法;性能優(yōu)化
(CollegeofComputer,NationalUniversityofDefenseTechnology,Changsha410073,China)
高光譜遙感技術(shù)廣泛應(yīng)用于軍事、農(nóng)業(yè)、環(huán)境科學(xué)、地質(zhì)、海洋學(xué)等領(lǐng)域,這些領(lǐng)域迫切要求及時(shí)處理[1]。但高光譜影像數(shù)據(jù)有波段多、數(shù)據(jù)量大、相關(guān)性強(qiáng)、冗余多等特點(diǎn),直接處理將導(dǎo)致維數(shù)災(zāi)難、空空間現(xiàn)象等嚴(yán)重的計(jì)算問題[2-4]。因此,國內(nèi)外專家學(xué)者處理高光譜影像數(shù)據(jù)過程常常包括降維步驟。降維通過一定的映射,將高維影像數(shù)據(jù)轉(zhuǎn)換成低維影像數(shù)據(jù),并保持信息量基本不變。
高光譜影像降維方法可分為線性和非線性兩大類:線性降維有主成分分析(PrincipalComponentAnalysis,PCA)[5]、獨(dú)立成分分析(IndependentComponentAnalysis,ICA)[6]等方法;非線性降維包括基于核的方法和基于流行學(xué)習(xí)的方法,如等距映射法(ISOmetricMAPping,ISOMAP)[7]、局部線性嵌入(LocallyLinearEmbedding,LLE)[8]等。獨(dú)立成分分析是應(yīng)用最廣泛的降維方法之一,其降維過程包含了大規(guī)模矩陣計(jì)算和大量迭代運(yùn)算。由于高光譜影像波段多、數(shù)據(jù)量大等特征,降維處理過程復(fù)雜且耗時(shí),傳統(tǒng)的串行降維已無法滿足各行業(yè)的需求,因此并行降維的研究已迫在眉睫。
自2007年Nvidia正式推出統(tǒng)一計(jì)算設(shè)備架構(gòu)(ComputeUnifiedDeviceArchitecture,CUDA)以來,圖像處理單元在通用計(jì)算領(lǐng)域發(fā)展迅猛。CPU/GPU的異構(gòu)系統(tǒng)可編程性好、性價(jià)比高、功耗比低,已成為高性能計(jì)算領(lǐng)域的黑馬。搭載這種異構(gòu)系統(tǒng)的天河1A和泰坦分別在2010年和2012年奪得TOP500榜首[9]。CPU/GPU異構(gòu)系統(tǒng)的快速發(fā)展為高光譜影像降維的實(shí)時(shí)處理提供了可能。
高光譜影像并行處理在傳統(tǒng)并行系統(tǒng)中已有成熟的應(yīng)用,David等[10]基于異構(gòu)訊息傳遞接口(MessagePassingInterface,MPI)在網(wǎng)絡(luò)集群系統(tǒng)研究了高光譜影像處理的技術(shù);Javier等[11]提出基于神經(jīng)網(wǎng)絡(luò)的高光譜影像并行分類算法。在CPU/GPU異構(gòu)系統(tǒng)上,Sanchez等[12]對(duì)高光譜解混進(jìn)行了GPU移植;Yang等[13]利用多GPU實(shí)現(xiàn)了高光譜影像快速波段選擇;Rui等[14]在GPU上實(shí)現(xiàn)FastICA算法,加速55倍;Jacquelyne等[15]用OpenCL在GPU上實(shí)現(xiàn)InfomaxICA,最高加速56倍。但這些研究較少涉及基于GPU研究高光譜影像降維。本文研究基于負(fù)熵最大的FastICA降維算法[16-17],針對(duì)算法熱點(diǎn)設(shè)計(jì)GPU映射方案,最終提出并實(shí)現(xiàn)一種G-FastICA并行算法。
1.1 基于負(fù)熵最大的FastICA
FastICA算法有基于負(fù)熵最大、基于似然最大、基于峭度3種形式,本文主要研究基于負(fù)熵最大的FastICA算法。該算法是盲源降維方法,以負(fù)熵最大為搜尋方向,實(shí)現(xiàn)獨(dú)立源的順序提取,采用定點(diǎn)迭代的優(yōu)化方法,收斂更加快速、穩(wěn)健[16-17]。
對(duì)于高光譜影像數(shù)據(jù)X(W×H×B,寬W、高H、波段B),X可視為B行S列(S=W×H)的二維矩陣,矩陣的一行表示一個(gè)波段的高光譜影像數(shù)據(jù)。通過獨(dú)立成分分析方法降維,可以獲得m個(gè)IC圖像,其中m
step1.計(jì)算X的協(xié)方差矩陣;
step2.計(jì)算協(xié)方差矩陣的特征值及特征向量,并根據(jù)閾值T選取最終IC圖像數(shù)量m;
step3.計(jì)算白化矩陣M=D-1/2VT,其中D為X的特征值矩陣,V為對(duì)應(yīng)的特征向量矩陣;
step4.高光譜影像數(shù)據(jù)白化處理Z=MX,X要減去均值(即零均值處理),M為白化矩陣,Z為白化處理結(jié)果矩陣;
step5.迭代開始:
①初始化Wi,Wi為變換矩陣W的一列;
其中g(shù)為非線性函數(shù),經(jīng)測(cè)試,取g(y)=y3可更穩(wěn)定、更快地達(dá)到ICA迭代收斂。
④歸一化Wi=Wi/‖Wi‖;
⑤判斷是否收斂,不收斂則返回到步驟②,若收斂,如果所有的Wi已經(jīng)計(jì)算結(jié)束(即i=m),則退出,否則令i=i+1,返回到步驟①計(jì)算Wi;
step6.計(jì)算獨(dú)立成分Y=WZ;
1.2 加速熱點(diǎn)分析
實(shí)現(xiàn)串行高光譜影像FastICA降維算法,對(duì)寬781、高6955、波段數(shù)224的高光譜影像降維,測(cè)試并統(tǒng)計(jì)各步驟占總計(jì)算時(shí)間的比率(見表1)。表中數(shù)據(jù)顯示,協(xié)方差矩陣計(jì)算(COV)、白化處理(whiteprocess)和ICA迭代(ICAiteration)過程比重較大,共占總計(jì)算時(shí)間的99%,是并行研究的關(guān)鍵熱點(diǎn)。此外特征值計(jì)算取決于波段數(shù)B,本文數(shù)據(jù)波段數(shù)均為224,因此特征值特征向量的計(jì)算屬于不變串行分量,無須考慮并行;IC變換(ICtransformation)、數(shù)據(jù)I/O與高光譜影像數(shù)據(jù)的寬、高、波段數(shù)及其信息特征相關(guān),作為次要熱點(diǎn)考慮其并行化。
表1 FastICA時(shí)間分布
2.1 協(xié)方差矩陣計(jì)算的GPU映射
協(xié)方差矩陣是對(duì)稱陣,僅需計(jì)算其下三角元素,再將值填入對(duì)應(yīng)的上三角陣。針對(duì)該過程,設(shè)計(jì)了一種映射方案:GPU上的每個(gè)線程塊完成協(xié)方差矩陣中一個(gè)協(xié)方差的計(jì)算任務(wù),如圖1所示。啟動(dòng)B×(B+1)/2個(gè)block,每個(gè)block中的thread數(shù)量可根據(jù)occupancy選取最佳的thread數(shù)。其思想是將協(xié)方差矩陣中單個(gè)協(xié)方差的計(jì)算任務(wù)映射到對(duì)應(yīng)的block中,由一個(gè)block完成一個(gè)協(xié)方差元素的計(jì)算。一種實(shí)現(xiàn)策略是:每次啟動(dòng)維度為<<>>(i為循環(huán)變量)的kernel函數(shù),循環(huán)B次完成所有協(xié)方差矩陣元素的計(jì)算任務(wù)。
圖1 協(xié)方差矩陣的GPU映射方案Fig.1 GPU mapping scheme of covariance matrix
2.2 設(shè)備端并行白化處理
GPU是細(xì)粒度并行協(xié)處理器,在白化處理中尋找細(xì)粒度的并行計(jì)算任務(wù),再將這些細(xì)粒度計(jì)算任務(wù)通過kernel函數(shù)映射到GPU核上執(zhí)行,這是設(shè)備端并行白化處理的關(guān)鍵。
在白化處理(Z=MX)中,M是B×m的矩陣,X的尺寸為S×B,結(jié)果矩陣Z大小為S×m。結(jié)果矩陣每個(gè)元素的計(jì)算是獨(dú)立的,且計(jì)算任務(wù)量類似,是長(zhǎng)為B的向量?jī)?nèi)積。高光譜影像的波段數(shù)B一般為幾十到上百不等,即向量?jī)?nèi)積的運(yùn)算量有限,是細(xì)粒度任務(wù),故視結(jié)果矩陣的單個(gè)元素的計(jì)算為單元任務(wù),將其映射到GPU的thread上。整個(gè)結(jié)果矩陣共有S×m個(gè)單元任務(wù),需要S×m個(gè)線程參與計(jì)算;但高光譜影像的寬W和高H較大(約數(shù)百到上千),故S=W×H較大,S×m的數(shù)量級(jí)更大,超過GPU一次可啟動(dòng)的最大線程數(shù)量,無法直接運(yùn)算。此時(shí),采用循環(huán)計(jì)算的方法,即啟動(dòng)適當(dāng)數(shù)量的block和thread,多次循環(huán)完成計(jì)算任務(wù)。對(duì)于線程塊blockIdx中的線程threadIdx,需計(jì)算索引為i×(gridDim×blockDim)+blockIdx×blockDim+threadIdx的任務(wù)(i為循環(huán)變量),直到索引超過S×m。該方案中,gridDim和blockDim不受算法自身約束,可根據(jù)occupancy自由設(shè)定,以最大化GPU設(shè)備占用率,從而獲得最佳性能。
2.3 ICA迭代的GPU移植
ICA迭代過程中,受數(shù)據(jù)依賴限制,不同迭代無法同時(shí)運(yùn)算,只能在單次迭代中開發(fā)并行。分析迭代中各個(gè)步驟的計(jì)算量,初始化、正交化、歸一化和判斷操作的計(jì)算量很小,可不必考慮,主要的計(jì)算量集中在步驟②中。分解該步驟,抽象得到圖2所示的ICA迭代宏觀模型。
圖2 ICA迭代關(guān)鍵步驟模型Fig.2 Model of key step for ICA iteration
2.4 G-FastICA算法
IC變換與白化處理的運(yùn)算模型類似,因此將前文設(shè)計(jì)的白化處理并行策略套用到IC變換中。高光譜影像數(shù)據(jù)I/O的并行化依賴于并行文件系統(tǒng)或緩存機(jī)制,利用多線程技術(shù),每個(gè)線程創(chuàng)建獨(dú)立的文件指針,通過合理的數(shù)據(jù)分割,各個(gè)線程將指針指向各自的目標(biāo)位置,再進(jìn)行輸入輸出操作。
針對(duì)單GPU,根據(jù)前面提出的協(xié)方差矩陣計(jì)算、白化處理、ICA迭代、IC變換等熱點(diǎn)的GPU映射并行方案,用其替代串行算法的對(duì)應(yīng)步驟,可實(shí)現(xiàn)CPU與GPU協(xié)同計(jì)算高光譜影像FastICA降維過程,稱之為G-FastICA算法。
基于GPU的計(jì)算通信重疊優(yōu)化:協(xié)方差矩陣計(jì)算,存在著計(jì)算通信重疊的可能性。由圖1可知,第i行計(jì)算使用高光譜影像數(shù)據(jù)前i個(gè)波段的數(shù)據(jù)。傳輸完第1個(gè)波段數(shù)據(jù)后,協(xié)方差矩陣第1行計(jì)算和第2波段數(shù)據(jù)傳輸可同時(shí)進(jìn)行,此時(shí)計(jì)算與通信能夠重疊。采用多流的方法實(shí)現(xiàn)GPU計(jì)算與CPU/GPU通信的并發(fā)執(zhí)行。得益于計(jì)算通信重疊,幾乎能掩蓋全部高光譜影像數(shù)據(jù)傳輸時(shí)間。
GPU存儲(chǔ)優(yōu)化:GPU提供了層次分明的存儲(chǔ)單元系統(tǒng),按離核距離由近及遠(yuǎn)分別是寄存器、共享存儲(chǔ)器、全局存儲(chǔ)器,可以顯示這些存儲(chǔ)單元的使用。離核距離近的延遲低,訪存效率高,因此應(yīng)盡量使用離核近的存儲(chǔ)單元。本文通過下面兩項(xiàng)技術(shù)對(duì)各并行熱點(diǎn)GPU進(jìn)行優(yōu)化(GPU映射設(shè)計(jì)時(shí)已保證訪存對(duì)齊):①共享存儲(chǔ)訪問取代全局存儲(chǔ)訪問;②采用寄存器存儲(chǔ)數(shù)量較少的中間變量。通過這兩個(gè)步驟修改,各熱點(diǎn)均能獲得部分性能提升,效果見表2(優(yōu)化手段0表示無優(yōu)化,1采取GPU存儲(chǔ)優(yōu)化手段1,2在1基礎(chǔ)上采用GPU存儲(chǔ)優(yōu)化手段2,3在2基礎(chǔ)上增加計(jì)算通信重疊優(yōu)化)。表中數(shù)據(jù)顯示了本文優(yōu)化效果。
表2GPU存儲(chǔ)優(yōu)化技術(shù)效果
Fig.2EffectsofstorageoptimizingmethodonGPU
ms
最佳維度設(shè)計(jì):GPU是眾核架構(gòu),細(xì)粒度并行,對(duì)于線程數(shù)量非常敏感,因此需要合理設(shè)計(jì)線程維度來保證GPU性能發(fā)揮。GPU上的線程數(shù)量可以是任意的,全部測(cè)試是不可能的,需要一套理論指導(dǎo)線程數(shù)量的選擇。本文設(shè)計(jì)了一種線程維度選擇方法,步驟如下:
1)計(jì)算kernel的GPU設(shè)備占用率(occupancy);
2)選擇占用率最高的幾個(gè)線程數(shù)量進(jìn)行實(shí)驗(yàn)測(cè)試,擇優(yōu)選取。
GPU設(shè)備占用率是發(fā)揮GPU性能的一項(xiàng)重要指標(biāo),主要受限于活動(dòng)的warp數(shù)目,而活動(dòng)的warp數(shù)目與使用的寄存器、共享存儲(chǔ)器有關(guān)。通過統(tǒng)計(jì)kernel函數(shù)使用的寄存器數(shù)量和共享存儲(chǔ)器容量,可以計(jì)算出可活動(dòng)warp的數(shù)量,再根據(jù)warp數(shù)量與線程數(shù)量關(guān)系圖,可以初步選定幾個(gè)占用率高的線程數(shù)量。針對(duì)上述選取的線程數(shù)量逐一進(jìn)行實(shí)驗(yàn)測(cè)試,對(duì)比性能,可得到最佳線程維度。
比如在協(xié)方差矩陣計(jì)算中,每個(gè)thread需要18個(gè)寄存器,每個(gè)block需要3072byte的共享存儲(chǔ),對(duì)GPU的最大活動(dòng)warp數(shù)量進(jìn)行分析,通過計(jì)算可知,寄存器和共享存儲(chǔ)器的數(shù)量都不會(huì)限制warp數(shù)量;此時(shí),warp數(shù)量受最大warp數(shù)量限制,與線程數(shù)量有關(guān),其關(guān)系見圖3。選擇線程數(shù)量128,256,512,1024時(shí),活動(dòng)warp數(shù)量達(dá)到最大64,occupancy達(dá)到100%。再對(duì)這4個(gè)線程維度進(jìn)行實(shí)驗(yàn)測(cè)試,統(tǒng)計(jì)并對(duì)比結(jié)果數(shù)據(jù),獲得最佳線程維度。
圖3 線程數(shù)量對(duì)warp數(shù)量的影響(協(xié)方差)Fig.3 Effect between threads and warps(COV)
計(jì)算所有GPU并行熱點(diǎn)occupancy,選擇線程數(shù)量使得活動(dòng)warp數(shù)量最大化,測(cè)試并統(tǒng)計(jì)其結(jié)果,見表3。表中數(shù)據(jù)顯示,當(dāng)線程數(shù)量為1024時(shí),白化處理可以獲得最高性能;其他熱點(diǎn)在線程數(shù)量為512時(shí)性能最佳。
表3 線程數(shù)量對(duì)性能的影響
4.1 實(shí)驗(yàn)平臺(tái)與測(cè)試數(shù)據(jù)
本文用統(tǒng)一計(jì)算設(shè)備架構(gòu)(ComputeUnifedDeviceArchitecture,CUDA)技術(shù)實(shí)現(xiàn)上述GPU并行映射方案和優(yōu)化策略。其中涉及的矩陣、向量運(yùn)算均手動(dòng)實(shí)現(xiàn),未使用cublas庫,主要有以下幾個(gè)方面的考慮:1)空間復(fù)雜度,cublas庫要求數(shù)據(jù)類型是float,而高光譜影像數(shù)據(jù)類型為unsignedchar,如需轉(zhuǎn)換將增加3倍存儲(chǔ)空間,可能超過GPU全局存儲(chǔ)容量,導(dǎo)致無法處理;2)除開unsignedchar到float類型的轉(zhuǎn)換開銷,GPU或集成眾核(ManyIntegratedCore,MIC)等協(xié)處理器訪問unsignedchar類型的延遲比float類型小很多;3)cublas庫函數(shù)任務(wù)無法拆分,必須先通信后計(jì)算,將導(dǎo)致無法使用計(jì)算通信重疊的優(yōu)化策略;4)由于高光譜數(shù)據(jù)的特點(diǎn),矩陣運(yùn)算不規(guī)整,用通用方法優(yōu)化的cublas未必能獲得更好的效果。
實(shí)驗(yàn)采用當(dāng)前主流的GPU微型超算平臺(tái),搭載2個(gè)8核IntelXeonE5-2650CPU和nVidiaTeslaK20GPU。軟件平臺(tái)采用LinuxCentOS6.2操作系統(tǒng)、GCC4.4.6編譯器、CUDA5.0工具包。
本文采用表4羅列的5組機(jī)載可見光成像光譜儀(AirborneVisibleInfraredImagingSpectrometer,AVIRIS)高光譜影像數(shù)據(jù)。數(shù)據(jù)已經(jīng)過預(yù)處理,把16位int型光譜信息轉(zhuǎn)換為unsignedchar類型的像素信息。
表4 高光譜影像數(shù)據(jù)詳細(xì)信息
關(guān)于ICA迭代次數(shù)的約定:由于高光譜影像數(shù)據(jù)和ICA迭代過程中取得的隨機(jī)數(shù)不同,ICA迭代次數(shù)也將有所差異,不同的迭代次數(shù)導(dǎo)致時(shí)間消耗不可比。為了較準(zhǔn)確地對(duì)比算法性能,本文做出如下約定:相同的數(shù)據(jù)取固定的迭代次數(shù)。通過多次實(shí)驗(yàn)取平均值的方法,確定各組數(shù)據(jù)的迭代次數(shù)(見表5)。
表5 高光譜數(shù)據(jù)迭代次數(shù)
4.2 兩種測(cè)評(píng)基準(zhǔn)
本文從最優(yōu)串行和CPU滿負(fù)載并行兩個(gè)方面對(duì)算法性能進(jìn)行測(cè)評(píng)。
1)最優(yōu)串行程序。表6分別羅列了開啟優(yōu)化開關(guān)O0,O1,O2,O3時(shí),處理高光譜影像數(shù)據(jù)1的時(shí)間。優(yōu)化開關(guān)為O2時(shí),串行程序執(zhí)行時(shí)間最短,作為與并行算法對(duì)比的標(biāo)準(zhǔn)。
表6 串行程序優(yōu)化執(zhí)行時(shí)間表
本文通過對(duì)比線程級(jí)和進(jìn)程級(jí)并行程序的性能,采取性能較好的CPU并行方案作為CPU滿負(fù)載并行標(biāo)準(zhǔn)。本文分別采取OpenMP多線程并行和MPI多進(jìn)程并行,實(shí)現(xiàn)這兩種并行FastICA降維算法,測(cè)試性能并比較,見表7。對(duì)比表中數(shù)據(jù),MPI并行程序能獲得更好的性能,因此本文以MPI并行FastICA程序作為CPU滿負(fù)載并行程序。
表7 CPU并行程序加速效果
4.3 GPU對(duì)CPU的性能優(yōu)勢(shì)
圖4 各熱點(diǎn)GPU與串行加速比Fig.4 Speed-up between GPU and serial
統(tǒng)計(jì)G-FastICA高光譜影像降維算法中各步驟的耗時(shí)信息,對(duì)比最佳串行程序(見圖4)和MPI并行程序(見圖5)。圖4數(shù)據(jù)顯示,本文設(shè)計(jì)的各熱點(diǎn)GPU映射方案能獲得比串行快幾十倍的加速比,其中協(xié)方差矩陣計(jì)算加速近50倍,白化處理加速300倍左右,ICA迭代過程加速42~109倍不等,IC變換可加速19~41倍。圖5顯示GPU相對(duì)CPU在并行計(jì)算上更有優(yōu)勢(shì),本文設(shè)計(jì)的GPU映射方案比CPU并行版本(MPI)效率更高,其中協(xié)方差矩陣計(jì)算GPU比CPU快4~6倍,白化處理加速6~8倍,ICA迭代中GPU比CPU快8~11倍,IC變換由于計(jì)算量較小,GPU和CPU性能差距不大。
圖5 各熱點(diǎn)GPU與CPU并行加速比Fig.5 Speed-up between GPU and CPU
圖6統(tǒng)計(jì)了G-FastICA算法對(duì)最佳串行程序、MPI并行程序總時(shí)間的加速比。圖中數(shù)據(jù)顯示,G-FastICA算法比串行FastICA算法加速36~72倍不等;G-FastICA算法比MPI并行算法加速4.1~6.5倍不等。這說明在高光譜影像降維FastICA處理時(shí),CPU/GPU異構(gòu)系統(tǒng)能比CPU并行系統(tǒng)獲得更好的性能。
圖6 G-FastICA與串行和MPI并行的加速比Fig.6 Speed-up between G-FastICA and serial or MPI
本文研究了高光譜影像降維快速獨(dú)立成分分析方法,提出和實(shí)現(xiàn)了基于GPU的G-FastICA并行算法,并基于GPU架構(gòu)對(duì)算法進(jìn)行優(yōu)化研究。實(shí)驗(yàn)結(jié)果顯示了GPU比CPU具有更好的計(jì)算優(yōu)勢(shì),G-FastICA并行算法最高可加速72倍。
通過在CPU/GPU異構(gòu)系統(tǒng)上研究快速獨(dú)立成分分析降維方法,獲得了良好的性能,探討了GPU加速高光譜影像降維的可行性,切實(shí)加速了高光譜影像降維過程。本文算法可進(jìn)一步擴(kuò)展至GPU集群來提高性能。
References)
[1]GreenRO,EastwoodML,SartureCM,etal.Imagingspectroscopyandtheairbornevisible/infraredimagingspectrometer(AVIRIS)[J].RemoteSensingEnviron, 1998,
65(3): 227-248.
[2]GreenAA,BermanM,SwitzerP,etal.Atransformationfororderingmultispectraldataintermsofimagequalitywithimplicationsfornoiseremoval[J].IEEETransactiononGeoscienceandRemoteSensing, 2000, 26(1): 65-74.
[3]KaarnaA,ZemcikP,K?lvi?inenH,etal.Compressionofmultispectralremotesensingimagesusingclusteringandspectralreduction[J].IEEETransactiononScienceRemoteSensing, 2000, 38(2): 1073-1082.
[4]ScottD,ThompsonJ.Probabilitydensityestimationinhigherdimensions[C]//Proceedingsofthe15thSymposiumontheInterfaceComputerScienceandStatistics, 1983: 173-179.
[5]JolliffeIT.Principalcomponnentanalvsis[M].USA:Sprinner-Verlan, 1986.
[6]Hyv?rinenA,OjaE.Independentcomponentanalysis:algorithmandapplications[J].NeuralNetworks, 2000, 13(4-5): 411-430.
[7]TenenbaumJB,DeSilvaV,LangfordJC.Aglobalgeometricframeworkfornonlineardimensionalityreduction[J].Science, 2000, 290(5500): 2319-2323.
[8]RoweisST,SaulLK.Nonlineardimensionalityreductionbylocallylinearembedding[J].Science, 2000, 290(5500): 2323-2326.
[9]TOP500.TOP500supercomputersites[EB/OL]. (2012-11) [2014-09-26]http://www.top500.org.
[10]ValenciaD,LastovetskyA,O′FlynnM,etal.ParallelprocessingofremotelysensedhyperspectralimagesonheterogeneousnetworksofworkstationsusingheteroMPI[J].InternationalJournalofHighPerformanceComputingApplications, 2008, 22(4): 386-407.
[11]PlazaJ,PlazaA,PérezR,etal.Parallelclassificationofhyperspectralimagesusingneuralnetworks[J].ComputationalIntelligenceforRemoteSensingStudiesinComputationalIntelligence, 2008, 133: 193-216.
[12]SánchezS,RamalhoR,SousaL,etal.Real-timeimplementationofremotelysensedhyperspectralimageunmixingonGPUs[J].JournalofReal-timeImageProcessing, 2012, 32(1): 518-522.
[13]YangH,DuQ,ChenGS.Unsupervisedhyperspectralbandselectionusinggraphicsprocessingunits[J].IEEEJournalofSelectedTopicsinAppliedEarthObservationsandRemoteSensing, 2011, 4(3): 660-668.
[14]RamalhoR,TomásP,SousaL.EfficientindependentcomponentanalysisonaGPU[C]//Proceedingofthe10thIEEEInternationalConferenceonComputerandInformationTechnology,2010:1128-1133.
[15]ForgetteJ,Wachowiak-SmolíkováR,WachowiakM.Implementingindependentcomponentanalysisingeneral-purposeGPUarchitectures[C]//ProceedingsoftheInternationalConferenceonDigitalInformationProcessingandCommunications2011:233-243.
[16]HyvrinenA.Fastandrobustfixed-pointalgorithmsforindependentcomponentanalysis[J].IEEETransactionsonNeuralNetworks,1999,10(3):626-634.
[17]HyvrinenA.Thefixed-pointalgorithmandmaximumlikelihoodestimationforindependentcomponentanalysis[J].NeuralProcessLett,1999,10(1):1-5.
A parallel algorithm of FastICA dimensionality reduction for hyperspectral image on GPU
FANG Minquan, ZHOU Haifang, ZHANG Weimin, SHEN Xiaolong
Fastindependentcomponentanalysisdimensionalityreductionforhyperspectralimageneedsalargeamountofmatrixanditerativecomputation.Byanalyzinghotspotsofthefastindependentcomponentanalysisalgorithm,suchascovariancematrixcalculation,whiteprocessing,ICAiterationandICtransformation,aGPU-orientedmappingschemeandtheoptimizationstrategybasedonGPU-orientedalgorithmonmemoryaccessingandcomputation-communicationoverlappingwereproposed.Theperformanceimpactofthread-blocksizewasalsoinvestigated.Experimentalresultsshowthatbetterperformancewasobtainedwhendealingwiththehyperspectralimagedimensionalityreductionproblem:theGPU-orientedfastindependentcomponentanalysisalgorithmcanreachaspeedupof72timesthanthesequentialcodeonCPU,anditruns4~6.5timesfasterthanthecasewhenusinga16-coreCPU.
graphicprocessingunit;hyperspectralimagedimensionalityreduction;fastindependentcomponentanalysis;parallelalgorithm;performanceoptimization
2014-09-28
國家自然科學(xué)基金資助項(xiàng)目(61272146,41375113,41305101)
方民權(quán)(1989—),男,浙江東陽人,博士研究生,E-mail:fmq@hpc6.com;周海芳(通信作者),女,教授,博士,碩士生導(dǎo)師,E-mail:haifang_zhou@163.net
10.11887/j.cn.201504011
http://journal.nudt.edu.cn
TP
A