前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計(jì)算機(jī)網(wǎng)絡(luò)下小波變換的問題研討范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
經(jīng)試驗(yàn)證實(shí),在CUDA背景下,可有效提高并行小波算法的計(jì)算速度,以及對(duì)小波變換諧波的分析速度,進(jìn)而提高了實(shí)際應(yīng)用價(jià)值。2007年,nVIDIA公司公開了此種CUDA并行小波分解算法,該項(xiàng)技術(shù)同原本的僅借助于CUP進(jìn)行計(jì)算的計(jì)算方式優(yōu)勢(shì)明顯,其可對(duì)標(biāo)準(zhǔn)C語言進(jìn)行擴(kuò)展,省略了將計(jì)算映射到圖形應(yīng)用程序接口才能計(jì)算的步驟和工作,如此節(jié)省計(jì)算時(shí)間的同時(shí),也為其深入研發(fā)提高了基礎(chǔ)保證,為實(shí)現(xiàn)低成本、高性能、易維護(hù)的數(shù)據(jù)并行處理目的打下了堅(jiān)實(shí)的基礎(chǔ)。
Mallat小波分解算法的最關(guān)鍵問題,即將待處理的數(shù)據(jù)和濾波器進(jìn)行卷積。一般情況下,小波變換中所使用的濾波器系數(shù)相對(duì)較少,通常為緊支撐函數(shù),所以在卷積計(jì)算時(shí),只需要對(duì)原序列中的子序列進(jìn)行相應(yīng)計(jì)算即可,這就為分組計(jì)算的實(shí)現(xiàn)創(chuàng)造了條件。鑒于上述情況,在CUDA環(huán)境中,僅從數(shù)據(jù)分組和并行化卷積和二次抽取即可實(shí)現(xiàn)Mallat的并行計(jì)算。
1將處理數(shù)據(jù)分組
在CUDA中會(huì)使用多的種類型存儲(chǔ)器,比如傳統(tǒng)的共享存儲(chǔ)器,以及以往不曾使用,或使用率非常低的全局存儲(chǔ)器。傳統(tǒng)的共享存儲(chǔ)器具有運(yùn)算速度快的特點(diǎn),但其容量卻十分有限,在對(duì)數(shù)據(jù)進(jìn)行全局讀取計(jì)算時(shí)極易造成性能損失。為彌補(bǔ)這一缺點(diǎn),使用容量大,但速度相對(duì)較慢的全局存儲(chǔ)器可有效彌補(bǔ)共享存儲(chǔ)器的不足,故研究不但較好地利用了共享存儲(chǔ)器讀寫速度快的優(yōu)點(diǎn),而且采用的數(shù)據(jù)分組處理方式避免了性能損失的發(fā)生。在計(jì)算時(shí),先將主機(jī)存儲(chǔ)器中的處理數(shù)據(jù)載入顯卡中的全局存儲(chǔ)器中,再將每512個(gè)處理數(shù)據(jù)序列分成一組(不包含第一組),且每組開頭重疊保留前組末端個(gè)(N—2)數(shù)據(jù),N為濾波器系數(shù)個(gè)數(shù),另外對(duì)邊界進(jìn)行零延拓。在卷積計(jì)算時(shí),程序需要同時(shí)運(yùn)行N個(gè)Block對(duì)數(shù)據(jù)進(jìn)行處理。而每個(gè)Block中又要同時(shí)運(yùn)行512個(gè)線程,故每次可處理[512—(NFilter—2)]N個(gè)數(shù)據(jù)。在計(jì)算時(shí),有時(shí)會(huì)發(fā)生數(shù)據(jù)分組數(shù)大于Block數(shù)的情況,此時(shí)所有數(shù)據(jù)無法一次完成處理,這種情況下第一批數(shù)據(jù)處理后,按上述步驟重復(fù)處理即可。另外,通常情況下濾波器系數(shù)少,且要反復(fù)使用,所以為提高讀取速度可載入共享內(nèi)存。
2并行計(jì)算卷積和二次抽取
并行計(jì)算第N組數(shù)據(jù)卷積的計(jì)算原理如下圖所示,另外為減少計(jì)算次數(shù)、提高計(jì)算速度可同時(shí)進(jìn)行二次抽取。下面以濾波器系數(shù)是4個(gè)為例來闡述計(jì)算原理。組數(shù)據(jù)并行卷積原理如下圖所示。因?yàn)槊拷M開頭重疊保留前組末端個(gè)(N—2)數(shù)據(jù),所以要向前組重疊保留2個(gè)數(shù)據(jù),如圖中的數(shù)據(jù)序號(hào)-1和-2。對(duì)該組數(shù)據(jù)計(jì)算并進(jìn)行二抽取,計(jì)算起于0序號(hào),如此僅需用奇數(shù)序號(hào)T3、T5、T7、……線程計(jì)算卷積即可,如圖中箭頭。而且每個(gè)線程只需進(jìn)行N次乘法及(N—1)次加法即可實(shí)現(xiàn)細(xì)粒度的并行計(jì)算,有效抑制了單個(gè)CPU處理器性能弱的缺陷。
在CUDA技術(shù)背景下的并行小波分解算法技術(shù),可有效提高諧波分析的計(jì)算速度,以及小波理論的應(yīng)用性。而且,該算法的線性加速能力大大節(jié)省了用戶的設(shè)備支出成本。本文實(shí)現(xiàn)的計(jì)算機(jī)網(wǎng)絡(luò)下的并行小波算法通過實(shí)驗(yàn)證明通用性較強(qiáng),對(duì)小波包等形式的小波同樣有效,因此值得推廣使用。(本文作者:熊慶帥 單位:曲阜師范大學(xué)日照校區(qū)計(jì)算機(jī)科學(xué)學(xué)院網(wǎng)絡(luò)工程系)