国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RAID系統(tǒng)和GPU技術(shù)的快速CT重建方法研究

2016-04-13 02:00劉俞辰
山西電子技術(shù) 2016年1期

劉俞辰

(中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

?

基于RAID系統(tǒng)和GPU技術(shù)的快速CT重建方法研究

劉俞辰

(中北大學(xué)信息與通信工程學(xué)院,山西 太原 030051)

摘要:針對(duì)錐束CT三維重建算法存在數(shù)據(jù)量大,重建時(shí)間長的問題,提出了一種基于RAID存儲(chǔ)系統(tǒng)和GPU共同加速錐束CT重建過程的方法。該方法先構(gòu)建RAID存儲(chǔ)系統(tǒng),利用多個(gè)磁盤陣列并行讀取投影數(shù)據(jù),提高數(shù)據(jù)的載入時(shí)間;在此基礎(chǔ)上,利用GPU技術(shù)來加速FDK重建算法,減少重建過程的時(shí)間。實(shí)驗(yàn)結(jié)果表明,在保證重建質(zhì)量的前提下,本文提出的加速方法,相比于傳統(tǒng)方法,速度提升約60倍。

關(guān)鍵詞:獨(dú)立磁盤冗余陣列;圖形處理器;計(jì)算機(jī)斷層重建

近年來,錐束CT憑借其掃描速度快、射線利用效率高和重建圖像軸向分辨率高[1]等特點(diǎn),在工業(yè)和醫(yī)學(xué)上得到了廣泛的應(yīng)用。但是其重建的數(shù)據(jù)量大,公式比較復(fù)雜,僅僅靠CPU重建,耗時(shí)太大,無法滿足工業(yè)上實(shí)時(shí)、準(zhǔn)確、快速的重建要求[2]。針對(duì)這一問題,國內(nèi)外許多學(xué)者做了大量研究,目前的主流方法是利用RAID技術(shù)改善存儲(chǔ)設(shè)備性能以及利用GPU技術(shù)加速運(yùn)算過程。

磁盤作為存儲(chǔ)設(shè)備的主要部件,其性能多年來一直未得到明顯的提高,是整個(gè)計(jì)算機(jī)系統(tǒng)中的性能瓶頸。Patterson等提出的冗余磁盤陣列RAID技術(shù)[3]大大提高了存儲(chǔ)系統(tǒng)的性能和可靠性,使得存儲(chǔ)系統(tǒng)有了新的發(fā)展方向。RAID系統(tǒng)數(shù)據(jù)傳輸速率高,安全性強(qiáng)等特點(diǎn)也滿足工業(yè)CT對(duì)重建數(shù)據(jù)的要求。

2007年NVIDIA公司推出了基于CUDA的GPU,CUDA不需要借助于圖形學(xué)API,采用了比較容易掌握的類C語言進(jìn)行開發(fā),極大降低了開發(fā)難度,使得利用GPU并行計(jì)算來加速復(fù)雜算法成為可能。Scherl等[4]使用CUDA技術(shù)實(shí)現(xiàn)了對(duì)FDK算法的加速,取得了比傳統(tǒng)基于圖形學(xué)API加速算法更好的加速效果。Mueller等[5]通過利用緩存優(yōu)化,進(jìn)一步提高了加速比;王鈺等[6]利用GPU的多處理器實(shí)現(xiàn)了FDK算法中的濾波與反投影過程,得到了較高的加速比,但是算法相對(duì)比較復(fù)雜。

本文充分運(yùn)用并行化思想,通過組建RAID系統(tǒng),優(yōu)化GPU訪問全局存儲(chǔ)器的時(shí)間和次數(shù)減少FDK算法重建過程所消耗的時(shí)間。實(shí)驗(yàn)結(jié)果表明,本文提出的優(yōu)化方法在實(shí)際工業(yè)中有廣泛的應(yīng)用前景。

1基礎(chǔ)知識(shí)

1.1RAID技術(shù)簡(jiǎn)介

RAID是一種使用多磁盤驅(qū)動(dòng)器來存儲(chǔ)信息的存儲(chǔ)系統(tǒng)。其基本思想是把多個(gè)磁盤驅(qū)動(dòng)器組成一個(gè)陣列組合,使其在邏輯上只形成一個(gè)磁盤驅(qū)動(dòng)器,數(shù)據(jù)以分段的形式存儲(chǔ)在這個(gè)邏輯磁盤陣列的不同物理磁盤上,用戶操作磁盤陣列的與操作單個(gè)磁盤無異。在進(jìn)行數(shù)據(jù)存取時(shí),陣列中的所有磁盤同時(shí)并行工作,因此大幅降低了數(shù)據(jù)存取的時(shí)間。RAID技術(shù)主要包含RAID 0~RAID 50等數(shù)個(gè)規(guī)范,每種級(jí)別的側(cè)重點(diǎn)各不相同,都是在增加數(shù)據(jù)可靠性與加快存儲(chǔ)器讀/寫性能兩個(gè)目標(biāo)之間取得平衡。

1.2CUDA基礎(chǔ)

CUDA是NVIDIA公司2007年推出的一種GPU架構(gòu)模式,該模式引入了Grid、Block以及Thread的概念。Grid是二維笛卡爾直角拓?fù)浣Y(jié)構(gòu),其上的每個(gè)節(jié)點(diǎn)標(biāo)識(shí)一個(gè)Block,用戶可以通過Block的ID來索引特定的網(wǎng)格節(jié)點(diǎn);Block為三維直角坐標(biāo)結(jié)構(gòu);Thread是塊中的元素,使用時(shí)可以通過Thread的ID來索引目標(biāo)線程。該模式集合了數(shù)據(jù)并行計(jì)算的軟硬件體系和開發(fā)工具,運(yùn)行在CUDA平臺(tái)的程序是GPU和CPU的混合代碼。實(shí)際執(zhí)行中,程序首先由NVIDIA編譯器進(jìn)行編譯。編譯后的代碼分為兩部分:在CPU端運(yùn)行的控制流程的串行程序以及在GPU端運(yùn)行的計(jì)算密集的并行程序。

1.3FDK算法原理

FDK算法是Feldkamp等人在1984年針對(duì)錐束幾何圓形掃描軌跡提出的一種近似的三維圖像重建算法。圖1為該算法的掃描方式,o-xyz為掃描對(duì)象坐標(biāo)系,o-ts為射線源旋轉(zhuǎn)坐標(biāo)系,o-tz為探測(cè)器坐標(biāo)系。S射線源通過射線源中心并與探測(cè)器平面垂直。

圖1 FDK掃描原理圖

FDK算法主要包括3個(gè)步驟:加權(quán),濾波與反投影。具體實(shí)現(xiàn)如下:

1) 對(duì)二維投影數(shù)據(jù)進(jìn)行加權(quán)修正:

(1)

其中:D表示射線到旋轉(zhuǎn)中心O的距離,(p,ξ)為探測(cè)器平面坐標(biāo),Rβ(p,ξ)表示第β角度的投影數(shù)據(jù),R′β(p,ξ)表示對(duì)投影數(shù)據(jù)加權(quán)后的結(jié)果。

電子商務(wù)背景下煙草商企實(shí)現(xiàn)精準(zhǔn)化營銷的途徑……………………………………………強(qiáng)智輝 晁 源 史露露(5.57)

2) 對(duì)加權(quán)后的投影數(shù)據(jù)沿行方向進(jìn)行濾波:

(2)

3) 計(jì)算投影地址p1、ξ,進(jìn)行反投影重構(gòu):

(3)

(4)

(5)

(6)

其中:f(t,s,z)為被重建函數(shù),p1、ξ為反投影地址,U為加權(quán)因子。

2加速方法

2.1組建RAID5系統(tǒng)

RAID5是一種存儲(chǔ)性能和數(shù)據(jù)安全兼顧的存儲(chǔ)解決方案,可以理解為RAID 0和RAID 1的折中方案,也是目前應(yīng)用最為廣泛的RAID技術(shù)。RAID 5具有和RAID 0相近的數(shù)據(jù)讀取速度,由于多了一個(gè)奇偶校驗(yàn)信息,寫入數(shù)據(jù)的速度比對(duì)單個(gè)磁盤進(jìn)行寫入操作稍慢。同時(shí)由于多個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤利用率要比RAID 1高。若RAID5中一個(gè)磁盤數(shù)據(jù)發(fā)生損壞,可以利用余下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù),因此在速度和安全方面都有很高的保障。

本文采用4塊1TB磁盤組成RAID5級(jí)別進(jìn)行實(shí)驗(yàn)。做RAID5陣列所有磁盤容量必須一樣大,當(dāng)容量不同時(shí),會(huì)以最小的容量為準(zhǔn)。當(dāng)有N塊陣列盤,用戶空間為N-1塊盤容量,假設(shè)單硬盤的數(shù)據(jù)讀取速度為T,則數(shù)據(jù)讀取速度理論上為N×T。其數(shù)據(jù)存儲(chǔ)方式如圖2所示:Ap為A1、A2和A3的奇偶校驗(yàn)信息存儲(chǔ)在磁盤3上,Bp為B1、B2和B3的奇偶校驗(yàn)信息存儲(chǔ)在磁盤2上,其它以此類推。

圖2 RAID5結(jié)構(gòu)示意圖

2.2使用GPU并行化FDK重建方法

加權(quán)和濾波所耗時(shí)間占整個(gè)FDK算法消耗時(shí)間的比例較少,并且隨著重建規(guī)模的增大,所占比例還會(huì)繼續(xù)降低。濾波相當(dāng)于求卷積,目前主流方法都是利用CUDA自帶的CUFFT庫對(duì)投影數(shù)據(jù)做頻域?yàn)V波。根據(jù)復(fù)數(shù)FFT的特點(diǎn),首先要對(duì)投影數(shù)據(jù)進(jìn)行重排,實(shí)數(shù)和虛數(shù)部分各對(duì)應(yīng)一行,這樣每個(gè)線程每次都可對(duì)投影數(shù)據(jù)相鄰的兩行做濾波。濾波完成后再進(jìn)行IFFT運(yùn)算,并把數(shù)據(jù)重排到對(duì)應(yīng)的兩行中。

2.2.2反投影加速方法

隨著近幾年GPU的快速發(fā)展,GPU用于高性能計(jì)算的瓶頸不再是計(jì)算消耗而是訪存消耗。重建數(shù)據(jù)通常存放于GPU全局存儲(chǔ)器內(nèi),但全局存儲(chǔ)器沒有緩存加速,雖然使用合并訪問可以提高訪問速度,但仍然會(huì)有幾百個(gè)周期的訪問延遲。因此,如何縮減訪問全局存儲(chǔ)器的時(shí)間和次數(shù)是GPU加速的關(guān)鍵因素之一。

通常情況下,一個(gè)核函數(shù)中只對(duì)1幅投影圖像進(jìn)行運(yùn)算,對(duì)于360幅的投影數(shù)據(jù),整個(gè)反投影過程就需要讀寫全局存儲(chǔ)器360×N3次。本文提出一種使用一個(gè)核函數(shù)完成m個(gè)角度投影圖像的反投影的方法,即每個(gè)核函數(shù)需要計(jì)算m個(gè)角度投影圖像的反投影參數(shù),但只讀寫全局存儲(chǔ)器N3次,這樣就使讀寫全局存儲(chǔ)器的次數(shù)變?yōu)樵瓉淼?/m。但是在減少全局存儲(chǔ)器讀寫次數(shù)的同時(shí),核函數(shù)中每個(gè)線程的計(jì)算負(fù)擔(dān)就會(huì)增大,隨著m的不斷增大,整個(gè)GPU中活動(dòng)Block和活動(dòng)Warp的數(shù)量就會(huì)減少,并行化程度就會(huì)降低,同時(shí)活動(dòng)的Block和活動(dòng)的Warp數(shù)量減少反過來又會(huì)影響GPU隱藏訪問全局存儲(chǔ)器的優(yōu)勢(shì)。所以,m的大小關(guān)系著這個(gè)程序的效率。通過借助CUDA profiler進(jìn)行反復(fù)實(shí)驗(yàn)得出,當(dāng)m取6,即核函數(shù)中同時(shí)完成的反投影圖像為6幅時(shí),加速效果最為理想。

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

為了驗(yàn)證該方法的可行性,本文采用實(shí)際投影數(shù)據(jù)進(jìn)行測(cè)試。掃描工件為圓柱型,掃描模式為圓軌跡。射線源到旋轉(zhuǎn)中心的距離為800 mm,物體中心到探測(cè)器的距離為150 mm,射線為ISOVOLT 450,探測(cè)器為paxscan2520,探元大小0.127 mm,電壓110 kV,電流2.5 mA,投影數(shù)據(jù)大小為570×460,中心坐標(biāo)(285,228),旋轉(zhuǎn)角度為360度,掃描間隔為1度。其中,實(shí)驗(yàn)平臺(tái)采用的計(jì)算機(jī)配置如下,CPU:I7-4770,GPU:GTX760。軟件環(huán)境為Visual studio 2012+CUDA 5.5。

表1 重建過程時(shí)間對(duì)比表(s)

表1給出了具體重建過程中每個(gè)步驟的時(shí)間對(duì)比表。從中可以看出,數(shù)據(jù)讀取階段,RAID 5的速度相比單硬盤,達(dá)到其近4倍的速度,接近于理論值。數(shù)據(jù)處理階段,本文方法與原GPU方法相比,提高了2倍,這是由于訪存優(yōu)化節(jié)省了大量數(shù)據(jù)傳輸耗時(shí)。與原CPU方法相比,加速比達(dá)到了60多倍,重建速度得到明顯改善,充分說明了GPU在大規(guī)模運(yùn)算中的優(yōu)勢(shì)。

(a) 原CPU方法重建結(jié)果 (b) 本文方法重建結(jié)果

圖3原CPU方法和本文方法重建結(jié)果對(duì)比

針對(duì)Z=100層圖像,圖3給出了CPU與本文方法重建結(jié)果對(duì)比圖。可以看出,兩種方法的重建結(jié)果基本一致,在精度允許范圍之內(nèi),這是因?yàn)楸疚乃惴ǖ膶?shí)現(xiàn)方式不包含任何圖形編程內(nèi)容,只是將運(yùn)行于CPU上的代碼改寫為GPU上執(zhí)行的代碼。這進(jìn)一步驗(yàn)證了本文加速方法的實(shí)用性和有效性。

4結(jié)論

針對(duì)錐束CT三維重建耗時(shí)長的問題,本文從實(shí)際工業(yè)應(yīng)用角度出發(fā),充分利用并行處理思想,提出了一種基于RAID存儲(chǔ)系統(tǒng)和GPU共同加速錐束CT重建整個(gè)過程的方法。實(shí)驗(yàn)結(jié)果表明,本文提出的方法比原GPU方法在重建速度上提高了2倍,比原CPU方法在重建速度上提高了60多倍,基本滿足工業(yè)實(shí)時(shí)性需求。

參考文獻(xiàn)

[1]馬俊峰.三維錐束CT圖像重建加速技術(shù)研究[D].濟(jì)南:山東大學(xué),2011.

[2]Li L,Xing Y,Chen Z,et al.A Curve-filtered FDK (C-FDK) Reconstruction Algorithm for Circular Cone-beam CT[J].Journal of X-ray Science and Technology,2010,19(3):355-371.

[3]Cabrera L F,Long D D E.Swift:Using Distributed Disk Striping to Provide High I/O Data Rates[J].Computing Systems,1991,4(4):405-436.

[4]Scherl H,Keck B,Kowarschil M,et al.Fast GPU-based CT Reconstruction Using the Common Unified Device Architecture[C].Nuclear Science Symposium,Honolulu.Washington,DC:IEEE Computer Society,2007:4464-4466.

[5]Zheng Z,Mueller K.Cache-aware GPU Memory Scheduling Scheme for CT Back-projection[C].Nuclear Science Symposium Conference Record (NSS/MIC),2010 IEEE.IEEE,2010:2248-2251.

[6]王玨,曹思遠(yuǎn),鄒永寧.利用CUDA技術(shù)實(shí)現(xiàn)錐束CT圖像快速重建[J].核電子學(xué)與探測(cè)技術(shù),2010,30(3):315-320.

Research on Fast CT Reconstruction Method Based on RAID System and GPU

Liu Yuchen

(SchoolofInformationandCommunicationEngineering,NorthUniversityofChina,TaiyuanShanxi030051,China)

Abstract:Aiming at the problems of large volumes of data and long reconstruction time existing in cone-beam CT three dimensional reconstruction algorithm, a new method based on RAID storage system and GPU is proposed to together accelerate the reconstruction process of cone-beam CT. Firstly, a RAID storage system is constructed to parallel read the projection data with multiple disk arrays and shorten the time of loading data. Then, a GPU technology is used to accelerate FDK reconstruction algorithm to reduce the reconstruction time. The experimental results show that the proposed acceleration method can develop the reconstruction speed about 60 times without compromising the reconstruction image quality compared with the traditional method.

Key words:redundant array of independent disk; graphics processing unit; CT

中圖分類號(hào):TP391

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1674- 4578(2016)01- 0077- 03

作者簡(jiǎn)介:劉俞辰(1988- ),男,湖南衡陽人,碩士研究生,主要從事CT重建與GPU加速技術(shù)研究。

收稿日期:2015-09-18