999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

求解Hermite方程組的GPU并行算法

2013-01-06 11:28:14長江大學信息與數學學院湖北荊州434023水資源與水電科學國家重點實驗室武漢大學湖北武漢430072廖文軍中國石油集團東方地球物理勘探有限責任公司物探技術研究中心河北涿州072751
長江大學學報(自科版) 2013年7期
關鍵詞:定義設計

張 濤 (長江大學信息與數學學院,湖北 荊州434023水資源與水電科學國家重點實驗室 (武漢大學),湖北 武漢430072)廖文軍 (中國石油集團東方地球物理勘探有限責任公司物探技術研究中心,河北 涿州072751)

在工程計算中,經常需要對Hermite方程組進行求解,而且由于需要保證求解的精確性,一般都采用直接法進行求解,在問題規模較大的情況下,該方程組的求解時間開銷很大。如果單純在CPU上進行計算,計算效率往往滿足不了實際生產的需要。隨著GPU技術[1]的出現,利用GPU眾核處理能力,采用CUDA計算[2-3]架構,利用GPU多核并行實現Hermite方程組的求解,將對解決其計算瓶頸提供契機。

1 Hermite方程組解法的GPU并行化分析

筆者所討論的Hermite方程組解法是一種類似LU分解的直接法,本質上仍然是Gauss消去法,其主要的計算過程是消元操作。無論Gauss消去法還是LU分解法及其他消去類的直接法,以按列選主元為例,在每一次消元過程中,各列的消去操作是獨立的,是可以并行進行的,而且在每一列內,各行元素的消去操作也是可以并行進行的。因此,可以采用GPU來加速Hermite方程組的求解。

2 Hermite方程組解法的GPU并行算法

2.1 算法設計

為了達到好的加速比,預測算子計算的GPU并行算法應遵循GPU的SIMD體系結構特點,并且充分發揮其眾核計算能力,整個算法采用三級并行模型,其具體設計過程如下:

1)方程組集之間的并行 定義多個Hermite方程組為一個方程組集 (每個集包含相同個數的多個Hermite方程組),把一個方程組集的求解設計為一個GPU Kernel,由于Fermi架構的 GPU支持16個GPU Kernel同時并行處理,為充分利用GPU的流處理器 (SM),可以設計多個GPU Kernel使其并行處理多個方程組集的求解,假設一個GPU Kernel只利用了7個SM資源,一個Fermi GPU有14個SM,那么一塊GPU可以并行求解2個Hermite方程組集,其并行對應關系如圖1所示。

圖1 Hermite方程組集的并行對應關系

2)每個方程組集內多個Hermite方程組并行 每個方程組集包括N個Hermite方程組,由于每個Hermite方程組的求解是獨立的,彼此之間不存在數據依賴性,方程組之間可以并行求解。把每一個Hermite方程組的求解設計為一個GPU Block,即每一個GPU Block負責求解一個Hermite方程組,那么對于一個GPU Kernel而言,它有N個GPU Block,由于GPU Block運行于SM內,每個Hermite方程組的求解與GPU SM之間的對應關系如圖2所示。

3)每個Hermite方程組內的并行 筆者所討論的Hermite方程組的解法最耗時的地方為消元操作,可以利用GPU Thread并行進行消元操作。一個GPU Block包括多個Warp(32個GPU Thread),一個Warp負責一列的消元,多個Warp并行消去多列;一個Warp內一個Thread負責一列中一行的消元,32個Thread實現并行多行消元。每一個 Warp的32個Thread運行于SM內的GPU Core(一個SM包括32個GPU Core)內,系數矩陣的行列與GPU Core并行對應關系如圖3所示。

圖2 Hermite方程組的求解與GPU SM之間的對應關系

圖3 系數矩陣的行列與GPU Core并行對應關系

2.2 CUDA線程模型設計

線程模型是用來明確CUDA程序內核的執行配置,根據GPU硬件資源,如寄存器個數、共享內存大小等,來定義網格和線程塊,好的線程模型會使程序的并發度最優,實現計算與訪存之間的相互隱藏,使程序性能達到最優。

1)網格 (Grid) 即如何對所有線程進行分塊,定義線程塊數和線程塊間的組織方式。筆者把一個空間窗的一個頻率當成一個線程塊,定義為dimGrid(N),其中N為一個方程組集的Hermite方程組個數。

2)線程塊 (Block) 即定義一個線程塊有多少個線程和線程的組織方式。由于實際生產中,多個應用的Hermite系數矩陣的階是不同的,因而GPU Kernel所需要的寄存器數、共享內存數量也不同。針對不同的階,為使性能最優,每一個線程塊的線程數是變化的,其具體定義為dimBlock(M,W),一個線程塊的總線程數為M*W,其中W隨系數矩陣的階的不同而不同。

3)線程模型 每個Grid劃分為N個Block,即計算一個方程組集內的N個Hermite方程組;每個Block求解一個Hermite方程組,它劃分為W個Warp。假設Hermite系數矩陣為二維矩陣H[n,m],每一個Warp負責一列的消元,W個Warp一次并行消去W列,每一個Warp需要循環m/W次。一個Warp內每一個GPU Thread負責一列中一行的消元,M個GPU Thread一次并行消去M行,則每一個Thread需要循環n/M次。

2.3 CUDA內存使用設計

根據GPU并行算法、數據訪問特點及GPU內存資源特性,選擇不同的內存存放不同的數據,以達到性能最優。

1)Global memory使用 Fermi GPU是按照Warp方式來訪存的,為了實現對Global Memory合并訪問,使其訪存性能達到最優,一個Warp內的32個Thread應同時訪問Global memory內的連續內存。由于系數矩陣H是按照列優先方式存放的,每一列內元素數據是連續存放的,所以在消元操作時32個線程應同時訪問同一列內的32行數據元素,提高訪存性能。

2)Shared memory使用 由于Shared memory為GPU的片上內存,訪問速度快,對于一個Block塊中公共的數據,如消元操作時的公共列元素,可以放入共享內存中,將提高訪存性能。

3)L1Cache使用 Fermi GPU提供L1Cache,其為GPU的片上內存,由于資源受限,L1Cache與Shared memory大小之和僅為64K,可以把L1Cache動態配置為16K或48K2種方式,這樣可以進一步提高訪存性能。

3 性能測試

測試環境包括硬件環境 (CPU:Intel? CoreI i7CPU 920@2.67GHZ;內存:2.67GHZ,8GB;GPU:Tesla C2050)和軟件環境 (OS:64位Linux RedHat 4.5)。選取某實際工業生產中產生的 Hermite方程組,每個方程組集包含1000個Hermite方程組,每個Hermite系數矩陣的階分別為350、700、1700,對這3種Hermite方程組的求解分別運行單線程串行程序和GPU并行程序進行性能比較測試。為了保證測試性能結果的穩定性,每次測試10個方程組集,然后取其平均時間,并且每個測試重復進行3次,測得CPU單線程串行程序平均每個方程組集計算時間 (CPU_Aver_Time)和GPU并行程序平均每個方程組集計算時間 (GPU_Ave_Time),性能對比如表1所示。從表1不難看出:①GPU并行程序的性能較CPU單線程串行程序提升明顯,加速比達到18.55~26.35倍;②由于Hermite方程組的求解計算量隨著系數矩陣的階數增大而增加,筆者設計的GPU并行算法性能加速比越來越高,表明系數矩陣階越高,Hermite方程組的求解計算越密集,采用GPU并行算法效果將更好。

表1 2種算法性能結果比對表

4 結 語

針對Hermite系數矩陣方程組求解計算效率低的問題,筆者首先對一種Hermite方程組直接解法進行GPU并行可行性分析,再基于GPU利用CUDA技術對該解法進行并行化設計。經測試其性能較原串行算法提升18.55~26.35倍,很好地解決了該直接解法的計算瓶頸。

[1]張浩,李利軍,林嵐.GPU的通用計算應用研究 [J].計算機與數字工程,2005,33(12):60-62.

[2]郭境峰,蔡偉濤 .新一代高性能運算技術——CUDA簡介 [J].現代科技,2009,8(6):29-30.

[3]吳連貴,易瑜,李肯立 .基于CUDA的地震數據相干體并行算法 [J].計算應用,2009(3):294-296.

猜你喜歡
定義設計
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 日韩国产亚洲一区二区在线观看| 亚洲国产日韩欧美在线| 影音先锋亚洲无码| 天天摸天天操免费播放小视频| 免费一级毛片在线播放傲雪网| 欧美在线综合视频| 国产精品短篇二区| 伊人久久综在合线亚洲2019| 99久久精品免费看国产免费软件| www亚洲天堂| 亚洲免费人成影院| 亚洲欧美国产视频| 国产亚洲精品yxsp| 九九热视频精品在线| 中文字幕日韩久久综合影院| 亚洲av成人无码网站在线观看| 国产成人1024精品下载| 久久精品aⅴ无码中文字幕| 国产成人AV男人的天堂| 婷婷久久综合九色综合88| 亚洲一道AV无码午夜福利| 丝袜美女被出水视频一区| 亚洲精品制服丝袜二区| 欧美精品另类| 欧美日韩另类在线| 国产在线精品香蕉麻豆| 久久综合伊人77777| 欧美日韩中文国产| 中日韩一区二区三区中文免费视频 | 亚洲精品国产精品乱码不卞| AⅤ色综合久久天堂AV色综合| 国产小视频网站| 亚洲午夜福利精品无码不卡| 九色视频一区| 国产亚洲欧美在线中文bt天堂 | 国产一级毛片网站| 国产呦视频免费视频在线观看| 亚洲中文字幕97久久精品少妇| 国产精品永久在线| 国内精品91| 亚洲国产欧洲精品路线久久| 成人无码区免费视频网站蜜臀| 婷婷色在线视频| 久久亚洲国产视频| 少妇精品在线| 成人中文字幕在线| 欧美日本在线观看| 免费在线a视频| 高h视频在线| 中字无码精油按摩中出视频| 亚洲成人在线免费| 91麻豆精品国产高清在线| 久久人搡人人玩人妻精品| 国产精品综合久久久 | 国产精品自在自线免费观看| 成年A级毛片| 熟女视频91| 97视频免费在线观看| 影音先锋亚洲无码| 在线日本国产成人免费的| 91激情视频| 国产精品永久不卡免费视频| 免费中文字幕一级毛片| 亚洲天堂区| 一区二区三区四区精品视频| 久久精品丝袜| 手机精品视频在线观看免费| 在线观看无码a∨| 福利在线不卡一区| 青青网在线国产| 成人在线天堂| 亚洲精品在线91| 思思热精品在线8| 亚洲国产精品VA在线看黑人| 亚洲AV色香蕉一区二区| 午夜欧美理论2019理论| 毛片视频网址| 亚洲av无码专区久久蜜芽| 在线欧美a| 四虎成人精品| 欧美精品亚洲精品日韩专区va| 91亚洲精选|