<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 醫療電子 > 設計應用 > 基于CAPI FPGA的醫學(xué)超聲成像算法異構加速

基于CAPI FPGA的醫學(xué)超聲成像算法異構加速

作者:陳俊穎 周順風(fēng) 閔華清 時(shí)間:2016-09-28 來(lái)源:電子產(chǎn)品世界 收藏
編者按:在醫學(xué)超聲成像算法中,最經(jīng)典和最廣泛使用的是延遲疊加算法。延遲疊加算法在超聲成像、雷達信號發(fā)射、接收以及天線(xiàn)信號波束形成等方面有著(zhù)廣泛的應用。雖然該算法并不是典型的性能需求型算法,但是在醫學(xué)成像云計算服務(wù)的新需求下,需要提高該算法的計算速度,以克服云計算中網(wǎng)絡(luò )傳輸速度相對較慢的約束。然而,以中央處理器作為主要計算資源的傳統云計算框架無(wú)法滿(mǎn)足醫學(xué)超聲圖像快速生成的性能需求,因此,本文中使用以現場(chǎng)可編程邏輯門(mén)陣列作為異構加速資源的SuperVessel云平臺作為并行延遲疊加算法的實(shí)現平臺。當包括現場(chǎng)可編程邏輯

摘要:在算法中,最經(jīng)典和最廣泛使用的是延遲疊加算法。延遲疊加算法在超聲成像、雷達信號發(fā)射、接收以及天線(xiàn)信號波束形成等方面有著(zhù)廣泛的應用。雖然該算法并不是典型的性能需求型算法,但是在醫學(xué)成像服務(wù)的新需求下,需要提高該算法的計算速度,以克服中網(wǎng)絡(luò )傳輸速度相對較慢的約束。然而,以中央處理器作為主要計算資源的傳統框架無(wú)法滿(mǎn)足醫學(xué)超聲圖像快速生成的性能需求,因此,本文中使用以現場(chǎng)可編程邏輯門(mén)陣列作為資源的SuperVessel云平臺作為并行延遲疊加算法的實(shí)現平臺。當包括現場(chǎng)可編程邏輯門(mén)陣列和中央處理器之間的數據傳輸時(shí)間在內時(shí),SuperVessel云平臺上該算法異構實(shí)現的運行速度相較于中央處理器中該算法的運行速度提升了約22倍。

本文引用地址:http://dyxdggzs.com/article/201609/310488.htm

引言

  延遲疊加算法是算法中最經(jīng)典和最廣泛使用的基本算法,在眾多應用場(chǎng)景中有著(zhù)廣泛的運用,例如[1]、雷達信號的發(fā)射和接收[2]以及天線(xiàn)信號波束形成[3]等。同時(shí),該算法可以在眾多不同的設備中實(shí)現,例如在臨床和便攜嵌入式醫學(xué)超聲實(shí)時(shí)成像設備中均有延遲疊加算法的實(shí)現。然而,當我們考慮醫學(xué)成像云計算服務(wù)的全新應用場(chǎng)景時(shí),傳統計算設備的計算速度并不能滿(mǎn)足實(shí)時(shí)成像的計算需求。因此,有必要研發(fā)更快的、更有效的延遲疊加算法云實(shí)現。

  傳統的延遲疊加算法實(shí)現一般是采用基于中央處理器結構的串行計算模式實(shí)現。對于某些應用來(lái)說(shuō),中央處理器的計算速度可以滿(mǎn)足其計算需求,然而對于醫學(xué)成像云服務(wù)應用來(lái)說(shuō),中央處理器的計算速度還是相對太慢。另一方面,使用現場(chǎng)可編程邏輯門(mén)陣列(Field-Programmable Gate Array,FPGA)可以滿(mǎn)足并行實(shí)現的計算需求,而SuperVessel平臺正是第一個(gè)將FPGA加速融入到云計算中的計算平臺,因此,適合在該平臺上實(shí)現和評測并行延遲疊加算法。

  本文將詳細描述SuperVessel云平臺[4]上使用FPGA加速的并行延遲疊加算法的設計和實(shí)驗評測。

1 延遲疊加算法及其并行實(shí)現方案

1.1 延遲疊加算法

  圖1中的代碼為醫學(xué)超聲成像中串行延遲疊加算法的核心代碼。在該算法中,首先計算接收到的回聲超聲信號的延遲量,進(jìn)而將延遲后的回聲信號疊加,得到增強的回聲信號輸出,即超聲成像圖像中一個(gè)像素點(diǎn)的亮度值。

  延遲疊加算法包含三個(gè)循環(huán),如圖1中所示。該算法的時(shí)間復雜度為:

(1)

  其中變量LC(Line Count)表示輸出圖像中垂直的圖像線(xiàn)條數,變量RC(Rows Count)表示輸出圖像中的行數,變量PA(Probe Amount)表示接收回聲超聲信號的探頭陣元數量。

  在本文的設計和實(shí)驗中,LC設定為64,RC設定為1024,PA設定為64,所以每生成一幅超聲圖像需要計算4194304次延遲量計算和疊加計算。此外,在實(shí)時(shí)成像的情況下,要求形成流暢的實(shí)時(shí)成像視頻需要每秒24幀圖像的幀率。因此,定義TC為上述每一次延遲量計算和疊加計算共需要消耗的時(shí)間,則:

(2)

  對上式進(jìn)行移項,可得:

(3)

  在本文的設計和實(shí)驗中,為了實(shí)現實(shí)時(shí)成像,根據公式(3)演算出TC的最大值為9.93×10-9秒。此外,隨著(zhù)輸入數據集的增大,實(shí)時(shí)成像的實(shí)現難度也相應提升,因此,需要考慮并行實(shí)現方案。

1.2 延遲疊加算法的并行實(shí)現

  如圖1所示,串行延遲疊加算法的核心代碼中,核心操作是對延遲后輸入數據的疊加。針對于最終生成圖像中的一個(gè)特定像素點(diǎn)(i, j),存在PA次輸入數據信號的疊加,疊加的公式如下:

(4)

  其中,i、j和k分別是LC、RC和PA的累加變量,而d是延遲量的數值,可以通過(guò)特定i、j和k變量的相關(guān)計算得到。當變量i為一個(gè)特定值ifixed時(shí),最終圖像中第ifixed列上像素點(diǎn)的亮度值可以通過(guò)如下公式計算:

(5)

  通過(guò)對延遲疊加算法進(jìn)行分析,得出計算不同圖像線(xiàn)上的image(ifixed, j)時(shí)并不存在相互間的數據依賴(lài)。因此,延遲疊加算法的計算過(guò)程可以并行化實(shí)現。

2 SuperVessel云平臺上的算法實(shí)現

  本文使用SuperVessel云平臺實(shí)現的并行延遲疊加算法需要滿(mǎn)足以下計算需求:1、在一個(gè)時(shí)鐘周期內計算特定像素點(diǎn)image(i, j)的值;2、實(shí)現足夠精確的浮點(diǎn)數計算;3、FPGA上全流水線(xiàn)化計算。

  本文使用CAPI FPGA實(shí)現并行延遲疊加算法的設計框圖如圖2所示。該設計包含五個(gè)主要部分:輸入數據分離器、RowsCount循環(huán)生成器、延遲信號選擇器、疊加器和數據輸出控制器。以下是這五個(gè)部分設計原理和實(shí)現模式的詳細描述:

  輸入數據分離器: CAPI傳輸總線(xiàn)的帶寬是256位,而每一個(gè)延遲信號選擇器僅需要32位的帶寬,以供傳輸標準的單精度浮點(diǎn)數。由圖2可以看出該設計中包含64個(gè)延遲信號選擇器,因此,需要將CAPI總線(xiàn)的256位輸入數據分離,并且規劃好輸入數據讀取的順序。輸入數據讀取過(guò)程的規劃如下:

  第一步:在T時(shí)鐘周期內,第0個(gè)至第7個(gè)延遲信號選擇器讀取一個(gè)CAPI輸入信號數據;在(T+1)時(shí)鐘周期內,第8個(gè)至第15個(gè)延遲信號選擇器讀取下一個(gè)CAPI輸入信號數據;以此類(lèi)推,直到在(T+7)時(shí)鐘周期內,第56個(gè)至第63個(gè)延遲信號選擇器讀取下一個(gè)CAPI輸入信號數據。

  第二步:重復第一步所描述的步驟,直到生成一幅圖像中某一列像素點(diǎn)所需要的所有輸入信號數據讀取完畢。

  第三步:當圖像中某一列的所有像素點(diǎn)數值均計算完成,則回到第一步讀取生成圖像中下一列像素點(diǎn)所需要的輸入信號數據過(guò)程。

  RowsCount循環(huán)生成器:當圖像中某一列像素點(diǎn)計算所需要的所有輸入信號數據讀取完畢時(shí),循環(huán)生成器將開(kāi)始生成RC循環(huán)變量j的值。變量j的初始值為0,在每一個(gè)時(shí)鐘周期內自增1,直到最大值1023。

  延遲信號選擇器:延遲信號選擇器將計算對應像素點(diǎn)不同數據通道上的延遲量,并選擇對應的輸入信號數據。實(shí)現部分包含了一個(gè)延遲量計算器和一個(gè)BRAM存儲器,BRAM存儲器用于存儲某個(gè)數據輸入接收通道,接收通道接收到的輸入信號數據。

  疊加器:在并行延遲疊加算法的CAPI FPGA設計中共有64個(gè)延遲信號選擇器,而這64個(gè)延遲信號選擇器的輸出值之和,即為image(i, j)的最終結果。計算兩個(gè)延遲信號選擇器輸出值之和需要一個(gè)加法器,對應地,計算64個(gè)延遲信號選擇器輸出值之和需要63個(gè)加法器。為了使加法器設計流水線(xiàn)化,疊加器模塊將加法器分為6個(gè)階段層次,每層分別使用32、16、8、4、2、1個(gè)加法器。

  輸出數據控制器:由于CAPI總線(xiàn)提供的帶寬是256位,而本文所描述的設計每一個(gè)時(shí)鐘周期內輸出數據是一個(gè)32位的浮點(diǎn)數。因此,輸出的數據可以先存放于FPGA中,每8個(gè)時(shí)鐘周期通過(guò)CAPI總線(xiàn)接口向CPU輸出一次數據。

  除了上述的五個(gè)主要實(shí)現模塊外,本設計方案中也使用了下面兩個(gè)設計模塊:

  浮點(diǎn)數計算單元:本設計使用了Xilinx Vivado軟件中提供的浮點(diǎn)數IP核作為浮點(diǎn)數計算單元模塊。該類(lèi)IP核遵循了IEEE-754的標準,因此,本文設計中的浮點(diǎn)數計算結果相較于CPU實(shí)現的浮點(diǎn)數計算結果而言,誤差很小。另一方面,該類(lèi)IP核是全流水線(xiàn)化的,這也進(jìn)一步提升了設計的吞吐量。

  狀態(tài)控制器:在圖像像素點(diǎn)數值計算的過(guò)程中有兩個(gè)狀態(tài)階段:第一個(gè)階段是輸入信號數據的讀取過(guò)程,第二個(gè)階段是延遲量的計算和延遲后輸入信號數據的疊加過(guò)程。狀態(tài)控制器包含一個(gè)狀態(tài)標記變量,以指示當前計算的狀態(tài)階段。當第一階段的輸入信號數據讀取過(guò)程結束時(shí),BRAM的寫(xiě)入地址waddr的值將為2047。因此,可定義waddr==2047為第二階段開(kāi)始的標記信號。當第二階段結束時(shí),將waddr的值設為0,則將觸發(fā)第一階段重新開(kāi)始,進(jìn)行下一輪計算。此外,當圖像中所有的像素點(diǎn)計算完成時(shí),輸出圖像的像素點(diǎn)數目為65536 。所以,可定義該數值為圖像計算完成的標志變量,標志著(zhù)算法計算結束。

3 實(shí)驗和評測結果討論

3.1 SuperVessel平臺上使用CAPI FPGA加速器的流程

  在SuperVessel平臺上使用CAPI FPGA加速器來(lái)加速算法應用,需要執行以下步驟:

  1、使用Xilinx Vivado軟件設計FPGA加速器核心模塊;

  2、在本地的x86機器上集成FPGA加速器核心模塊和CAPI仿真框架進(jìn)行仿真驗證;

  3、在本地機器上編譯FPGA加速器核心模塊和CAPI加速框架構成的加速器包,并生成對應的bitstream文件;

  4、將加速器bitstream文件上傳到SuperVessel云平臺上;

  5、在SuperVessel云平臺上申請虛擬機資源,并關(guān)聯(lián)對應的加速器bitstream文件,然后啟動(dòng)虛擬機運行加速器。

  另外需要注意以下兩點(diǎn):

  VPN網(wǎng)絡(luò ):SuperVessel云平臺上申請的虛擬機資源沒(méi)有對應的可直接訪(fǎng)問(wèn)的公網(wǎng)IP,需要使用對應的VPN網(wǎng)絡(luò )。使用的VPN網(wǎng)絡(luò )在Windows、Linux、MacOS等主流操作系統中均有對應的軟件支持。

  內存占用:編譯步驟3中所述的加速器包時(shí)需要大量本地機器內存,尤其在綜合和布線(xiàn)的階段;而且CAPI FPGA加速器設計越復雜,本地機器內存占用量就越大。在本文的實(shí)驗評測中觀(guān)察到,編譯階段的內存占用量最高達到了14GB。內存不足將導致編譯失敗,因此需要根據CAPI FPGA設計的大小配置足夠的內存資源。

3.2 仿真數據生成

  本文的實(shí)驗過(guò)程中為了測試使用CAPI FPGA并行加速的延遲疊加算法,使用Field II醫學(xué)超聲信號模擬器[5]仿真了醫學(xué)超聲回波輸入數據。本文的醫學(xué)超聲圖像回波輸入數據仿真了128個(gè)陣元的超聲探頭,探頭間距為0.3048mm,采用5 kHz的脈沖發(fā)射頻率和40 MHz的回波接收采樣頻率。此外,超聲圖像的成像場(chǎng)景仿真了線(xiàn)形點(diǎn)陣列作為成像對象的散射源。

3.3 實(shí)驗結果討論

  在實(shí)驗中,通過(guò)網(wǎng)絡(luò )將10份醫學(xué)超聲圖像的輸入信號數據載入SuperVessel云平臺,其中每份圖像的輸入信號數據對應于一張超聲圖像。在云平臺上通過(guò)CAPI加速架構提供的API,調用FPGA加速器,將數據從云平臺上CPU對應的DDR內存中傳輸到FPGA中的BRAM里;完成圖像像素點(diǎn)數值計算后再將數據傳回DDR內存。實(shí)測從數據傳輸開(kāi)始到數據傳輸結束的時(shí)間,得到并行延遲疊加算法云計算應用運行的總時(shí)間。并行延遲疊加算法在FPGA上的計算時(shí)間通過(guò)統計算法執行的時(shí)鐘周期來(lái)確定,因此,還可推算出數據傳輸所消耗的時(shí)間。通過(guò)多次實(shí)驗求得各項時(shí)間參數的平均值,如表1所示。

  與此同時(shí),使用SuperVessel云平臺上CPU計算獲得同樣的10張醫學(xué)超聲圖像,其每張圖像計算的平均耗時(shí)為246 ms。由此計算可得,本文設計的CAPI FPGA并行延遲疊加算法實(shí)現的加速比達到了約22倍。此外,通過(guò)實(shí)驗推導出該設計的TC數值為秒,滿(mǎn)足1.1小節提出的實(shí)時(shí)成像要求。

4 結論和展望

  本文描述了在SuperVessel云平臺上,設計和評測基于CAPI FPGA加速器技術(shù)的并行延遲疊加算法。實(shí)驗評測結果表明,SuperVessel云平臺上基于CAPI FPGA加速器的并行延遲疊加算法的運行速度相較于使用CPU計算的延遲疊加算法的運行速度提高了約22倍,該速度可以滿(mǎn)足醫學(xué)成像云計算服務(wù)的需求。

  目前,本文設計中的超聲回波信號接收通道數為64。通道數越大時(shí),得到的圖像越清晰,所以我們使用同樣的方案設計了96通道和128通道的成像方案,但由于資源限制的原因未能成功運行。我們將繼續優(yōu)化當前的設計,降低資源占用并采用多片FPGA設計方案,進(jìn)一步提高通道數量和數據處理能力。

  另外,SuperVessel云平臺提供的CAPI加速技術(shù)可以應用于其他計算密集型算法加速,尤其是輸入輸出數據量小,而時(shí)間復雜度高的算法。我們將進(jìn)一步把其他醫學(xué)超聲成像算法設計到SuperVessel云平臺上實(shí)現。

參考文獻:

  [1] G. Matrone, A.S. Savoia, G. Caliano, and G. Magenes, “ The Delay Multiply and SumBeamforming Algorithm in Ultrasound B-Mode Medical Imaging,” IEEE Transactions onMedical Imaging, 2015, 34, (4), pp. 940-949.

  [2] T. Sakamoto, T. Sato, P.J. Aubry, and A.G. Yarovoy, “Ultra-Wideband Radar ImagingUsing a Hybrid of Kirchhoff Migration and Stolt F-K Migration With an Inverse BoundaryScattering Transform,” IEEE Transactions on Antennas and Propagation, 2015, 63, (8),pp. 3502-3512.

  [3] S.S. Tiang, M. Sadoon, T.F. Zanoon, M.F. Ain, and M.Z. Abdullah, “Radar sensingfeaturing biconical antenna and enhanced delay and sum algorithm for early stage breastcancer detection,” Progress In Electromagnetics Research B, 2013, 46, pp. 299-316.

  [4] Y. Lin, and L. Shao, “SuperVessel: The Open Cloud Service for Open-POWER,” White paper, IBM corporation, 2015.

  [5] J.A. Jensen, “Ultrasound fields from triangular apertures,” Journal of the Acoustical Society of America, 1996, 100, (4), pp. 2049-2056.

本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第9期第41頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>