《實現(xiàn)對電阻抗斷層成像程序的加速分析》3500字_第1頁
《實現(xiàn)對電阻抗斷層成像程序的加速分析》3500字_第2頁
《實現(xiàn)對電阻抗斷層成像程序的加速分析》3500字_第3頁
《實現(xiàn)對電阻抗斷層成像程序的加速分析》3500字_第4頁
《實現(xiàn)對電阻抗斷層成像程序的加速分析》3500字_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

實現(xiàn)對電阻抗斷層成像程序的加速分析綜述目錄TOC\o"1-2"\h\u7828實現(xiàn)對電阻抗斷層成像程序的加速分析綜述 153881.1并行計算模型 1289681.1.1PEIT 2312271.2GPU并行計算 2135661.2.1GPU架構(gòu)體系 2155361.3CUDA架構(gòu) 440591.1.1CUDA編程模型 4231111.1.2CUDA執(zhí)行模型 5264121.1.3CUDA內(nèi)存模型 61.1并行計算模型并行計算主要用于求解大型線性方程組,其目的是減輕計算機的壓力,提高計算機的計算效率.在并行計算中,并行計算機的結(jié)構(gòu)決定了計算模型存取內(nèi)存的并行計算和頂級并行算法.并行計算機的主要分類主要不同于內(nèi)存訪問模型,微處理器和因特網(wǎng),可分為機群(Cluster)、對稱多處理共享存儲并行計算機(SymmetricMultiprocessing,SMP)、星群(Constellation)、大規(guī)模并行計算機(MassivelyParallelProcessing,MPP)和分布式共享存儲并行計算機(DistributedSharedMemory,DSM)五類REF_Ref1099839773\n\h[10].與超級計算機相比,機群具有投資風(fēng)險低、成本高、編程方便、可擴展性好的優(yōu)點;機群廣泛應(yīng)用于多種編程語言中,特別是在分布式的環(huán)境中,一個聚類顯示出很好的結(jié)果,Beowulf是最具代表性的聚類.他的前身是CESDIS(TheCenterofExcellenceinSpaceDataandInformationSciences)組織中Thomas和DonBecker兩位用以太網(wǎng)和16個節(jié)點構(gòu)成的計算機集群系統(tǒng)REF_Ref1108159238\n\h[11],其計算能力十分出色.在天氣預(yù)報、石油勘探等重要科學(xué)和工程領(lǐng)域的實際需要中,處理通常需要并行計算模型,而傳統(tǒng)的計算方法通常無能為力.并行計算機沒有統(tǒng)一的計算模型.但是,幾個有價值的參考模型已經(jīng)在業(yè)內(nèi)被廣泛認(rèn)可,比如PRAM模型、BSP模型、LogP模型等.PRAM假設(shè)有對其容量大小沒有限制的一個共享存儲器,并且有多個功能相同的處理器,在任意時刻處理器可以訪問共享存儲單元REF_Ref1178664603\n\h[20].根據(jù)其是不是可以同時進行內(nèi)存輸出和內(nèi)存輸入,它又分為以下三類:\o"PRAM-EREW(頁面不存在)"PRAM-EREW,\o"PRAM-CREW(頁面不存在)"PRAM-CREW,\o"PRAM-CRCW(頁面不存在)"PRAM-CRCW(其中C代表Concurrent,意為允許并發(fā)操作,E-代表Exclusive,意味排斥并發(fā)操作).PRAM中的\o"同步時鐘(頁面不存在)"同步時鐘控制著所有的操作,并使這些操作都能同步進行.BSP計算的構(gòu)成有部件(處理器,它們勝任處理和/或局部內(nèi)存事務(wù)),網(wǎng)絡(luò)(在成對的部件之間的路由),屏障(允許所有或子集的部件進行同步化的硬件設(shè)施).LogP模型充分討論網(wǎng)絡(luò)的通信特性,并且放棄關(guān)于網(wǎng)絡(luò)拓?fù)涞挠懻?,LogP沒有超級步驟的概念.,這是因為在LogP中消息是同步的,這意味著一旦消息到達(dá)處理器REF_Ref1173202328\n\h[19],就不必等待下一個超級步驟.簡單的來說,并行計算模型是利用多臺服務(wù)器進行同步計算從而提升對程序的求解速率,而對于具體的服務(wù)器如何提升自身的計算,還可以借助于GPU,一種高性能的處理器.1.1.1PEIT收到并行計算的啟發(fā),MarkusJehl等人的團隊,在DUNE求解器,PETSC,ZOLTAN負(fù)載均衡等的工具的基礎(chǔ)上,由于目前一些較為特殊的電極模型(如人頭),其物理結(jié)構(gòu)復(fù)雜,使得其正問題中使用MATLAB進行對分解場域模型進行仿真的速率很慢,所以編寫了一個可以在并行機器和集群上運行的求解器(PEIT),以減少EIT圖像采集過程的計算時間.該求解器被廣泛用于500萬-1500萬個單元網(wǎng)格的正演模擬.計算結(jié)果用于實驗數(shù)據(jù)的圖像重建REF_Ref1199992686\n\h[25].與MATLAB相比,除了雅可比矩陣的計算外,他們的求解器在每一步上都已經(jīng)串行地更快了.特別是對于一個典型的步驟繁瑣的EIT應(yīng)用程序.1.2GPU并行計算計算機圖形處理單元(GPU)是一種單芯片處理器,集成了“幾何變換,照明,三角形構(gòu)造,剪切和繪圖引擎等”功能以及每秒至少10,000,000個多邊形的處理能力REF_Ref1181958775\n\h[21].GPU極大地提高了計算機的圖形處理速度,提高了圖形的質(zhì)量,并促進了計算機圖形學(xué)等領(lǐng)域的發(fā)展.與中央處理器(CPU)的串行設(shè)計模型有所不同,GPU是為圖形處理而設(shè)計的,它實質(zhì)上天生具有并行計算的能力.1.2.1GPU架構(gòu)體系基于GPU的通用計算只是并行計算之一.根據(jù)各種架構(gòu)和實現(xiàn)方法,并行可分為幾個層次,最微觀的層面是單個核心上的指令級并行(Instruction-LevelParallelism,ILP),依靠處理器上多個算術(shù)單元的微并行性來同時執(zhí)行多個指令,然后是多核并行性,即在單個芯片上整合多個處理器核,并在這些處理器上運行多個進程或線程.它同時使用內(nèi)核來同時實現(xiàn)線程并行性/進程級并行性(TLP/PLP),處理器級線程或進程并行性;最后是將多臺獨立的計算機連接到網(wǎng)絡(luò),以實現(xiàn)獨立的計算機級群集分布式并行性.由于其優(yōu)異的表現(xiàn),GPU的架構(gòu)體系每年都在升級,其創(chuàng)始人曾保證GPU的速度和功能要超越摩爾定律,每6個月就翻一倍.本論文中以當(dāng)前最新的AmpereA100架構(gòu)進行分析.Ampere架構(gòu)的性能大約是上一代Turing的150%.圖1.2.1-1GA100GPU全貌2020年5月,NVIDIA在發(fā)布會上發(fā)布新一代Ampere架構(gòu).Ampere架構(gòu)仍然使用成熟的和多層次的GPC-TPC-S架構(gòu).GA100型有八個GPC組,每個GPC組有八個TPC組,而每個TPC組又有8個SM組,主要區(qū)別在于L2緩存不再是一個組合組,而是分為兩組.二級GA100緩存的容量幾乎是上一代GV100的7倍,從6MB到40MB,二級緩存的大功率將在一定程度上降低對視頻存儲寬度的依賴性.為了避免訪問L2遠(yuǎn)程設(shè)備時出現(xiàn)高延遲問題,將此L2緩存分為兩個塊以確保延時不高.這種高容量的容量和分區(qū)結(jié)構(gòu),L2GA100的緩存帶寬增加了2.3倍,并且查詢機器的緩存可以確保二級緩存被自動用于提高應(yīng)用程序的效率.它能加快非結(jié)構(gòu)掃描數(shù)據(jù)和其他壓縮數(shù)據(jù),使DRAM的讀取帶寬為原來的4倍,使L2的讀取帶寬為原來4倍,使容量為其原來的2倍,對于大型二級緩存,Ampere向開發(fā)人員提供常駐數(shù)據(jù)控制,用戶管理高速緩存數(shù)據(jù)用戶手動保存在L2中可以加速訪問,并使其持久化.另外在顯存帶寬上面,A100也進行了升級.它仍然使用了HBM2的顯存,一共五個活動堆棧,每個堆棧中有8片8Gb顯存,最終組成40GB的顯存,運行在1215MHz的頻率上,其顯存帶寬高達(dá)1555GB/s,是V100的1.7倍多.另外,它還具備ECC硬件檢查功能,但需要占用顯存空間.GA100現(xiàn)存有6組HBM2,但只有5組是實際可以使用,另外一組封鎖的則是專門為檢查功能提供的.另外,GPU內(nèi)部的所有寄存器L1和L2緩存以及顯存均支持ECC功能.1.3CUDA架構(gòu)在求解逆問題的雅可比矩陣時,求解速度通常與問題的大小成正比.對于較大的矩陣,求解時間很長,打破了計算機硬件的峰值,無法解決,而現(xiàn)實問題中,建模通過有限元法推導(dǎo)后的矩陣一般都會超高階(如人頭,因為結(jié)構(gòu)復(fù)雜),在CUDA被NVIDIA公司推出后,GPU再一次被推上新高度.1.1.1CUDA編程模型GPU具有高浮點運算能力、高性能、低延遲和強邏輯運算能力.CUDA編程利用GPU和CPU的特性來一起處理任務(wù).執(zhí)行過程是在CPU端準(zhǔn)備數(shù)據(jù),然后將數(shù)據(jù)傳輸?shù)紾PU端進行并行計算,最后將計算結(jié)果返回到中央處理器.CPU與GPU的交互工作可以大幅提高計算性能.如圖1.3-1所示為CUDA線程組織結(jié)構(gòu)模型.圖1.1.1-1線程組織結(jié)構(gòu)模型圖為了知道CUDA程序設(shè)計是如何進行線程組織的,需要知道結(jié)構(gòu)模型.從圖1.1.1-1中可以看到,CUDA中線分層為三層,分為線程網(wǎng)格(grid)、線程塊(block)、線程(thread).一個線程索引(threadIndex)是1~3次元,另外,由多個thread組成的block也可以是1~3次元,就像線程構(gòu)成線程塊一樣,線程塊也可以由1~3次元線程網(wǎng)格構(gòu)成REF_Ref1184647895\n\h[22].在執(zhí)行CUDA應(yīng)用程序時,整個應(yīng)用程序的關(guān)鍵是kernel函數(shù).是.以grid形式構(gòu)成,以block為單位,分別在block之間并行,不同的Block之間的數(shù)據(jù)共享只能通過整個顯示來顯示,同一block中的其他thread之間可以通過共享內(nèi)存進行通信.即,kernel函數(shù).Block之間存在并行計算和thread并行計算兩個階段.另外,為了實現(xiàn)更高的效率,CUDA程序設(shè)計時尤其需要注意內(nèi)存的使用.對于CUDA程序,請盡量使用寄存器將數(shù)據(jù)聲明為本地變量.對于重復(fù)使用的數(shù)據(jù)可以將數(shù)據(jù)保存在共享內(nèi)存中.為了盡可能減少對設(shè)備內(nèi)存子系統(tǒng)的訪問數(shù),需要以適當(dāng)?shù)姆椒ㄟM行數(shù)據(jù)合并訪問.1.1.2CUDA執(zhí)行模型當(dāng)執(zhí)行內(nèi)核函數(shù)時,本文將在線程塊中運行.當(dāng)內(nèi)核網(wǎng)格啟動時,線程塊將分配給可用的SM.當(dāng)在SM中保留線程塊時,該線程僅駐留在指定的流多處理器上.在并發(fā)執(zhí)行SM中,基于線程束(Warp)執(zhí)行調(diào)度,并且當(dāng)在SM中調(diào)度線程塊時,線程塊的線程被進一步劃分為線程束,一個Warp由32個連續(xù)的線程(Thread)組成,線程束中的所有線程執(zhí)行相同的命令,每個線程處理私有數(shù)據(jù)REF_Ref1187471471\n\h[23].圖3.3.2-1展示了CUDA編程相對應(yīng)的組件的示意圖. 圖1.1.2-1CUDA映射過程這里創(chuàng)建的CUDA并行程序使用單指令多線程(SIMT)體系結(jié)構(gòu)管理和執(zhí)行線程.SIMT體系結(jié)構(gòu)類似于單指令多數(shù)據(jù)(Single-instructionMulti-data)體系結(jié)構(gòu),將兩條相同的指令廣播到多個執(zhí)行單元以實現(xiàn)并行.然而,在SIMT架構(gòu)中,同一向量的所有元素必須在同一同步組中一起運行,但是在SIMT架構(gòu)中,屬于同一線程束的多個線程可以獨立運行REF_Ref1187471471\n\h[23],因此編程靈活性比單指令多數(shù)據(jù)架構(gòu)更大.單個線程束的所有線程在同一程序地址處同時開始運行,但單個線程可能仍具有不同的行為.SIMT體系結(jié)構(gòu)可以確保創(chuàng)建各種并行代碼.1.1.3CUDA內(nèi)存模型并行程序性能往往是由CUDA內(nèi)存模型所影響的,它是最關(guān)鍵的因素之一.因此,需要合理使用任何類型的存儲器來分析所有類型的存儲器的特性及其關(guān)系并獲得更好的程序性能.CUDA架構(gòu)主要包括寄存器、共享存儲器、常數(shù)存儲器、本地存儲器、全局存儲器、紋理存儲器和其他可編程存儲器類型.這些可編程存儲器具有不同的作用范圍、生命周期和緩存操作.寄存器(Register)和本地內(nèi)存(LocalMemory)是內(nèi)核(Kernel)中每個線程的隱私

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論