《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 數字巖心中的Boltzmann并行算法優化
數字巖心中的Boltzmann并行算法優化
來源:微型機與應用2014年第3期
宋文博,滕奇志,吳小強
(四川大學 電子信息學院 圖像信息研究所,四川 成都 610064)
摘要: 針對LBM在應用過程中計算規模過大的問題,提出了一種優化算法。該算法明顯改善了計算時間過長的問題;對訪問的邊界數據進行特殊處理,減少了分支判斷邏輯;根據三維巖石微觀圖像的特點進行了空間結構優化,避免了無效格子點在線程中的運行,提高了GPU運算效率。實驗結果表明,優化后的計算速度有明顯提升。
Abstract:
Key words :

摘  要: 針對LBM在應用過程中計算規模過大的問題,提出了一種優化算法。該算法明顯改善了計算時間過長的問題;對訪問的邊界數據進行特殊處理,減少了分支判斷邏輯;根據三維巖石微觀圖像的特點進行了空間結構優化,避免了無效格子點在線程中的運行,提高了GPU運算效率。實驗結果表明,優化后的計算速度有明顯提升。
關鍵詞: Boltzmann;并行計算;GPU;CUDA

    研究巖石的滲透特性、孔隙特性以及變化規律是預測油氣形成、分布規律與探索提高采收率的主要方法[1]。滲透特性反映流體通過巖石空間的能力,以往大多通過實驗來定性研究,但近年來,為從微觀尺度對滲流特性進行定量分析,國內外學者在該領域展開了大量研究。為了使研究的滲流結果具有實際意義,建立一個能夠真實反映巖心孔隙特征的數字巖心往往是開展研究的第一步。目前,國內外學者能夠借助數值重建方法或物理實驗手段建立數字巖心[2]。利用數字巖心進行滲透率分析的方法主要有兩種:孔隙網絡模型和格子Boltzman方法LBM(Lattice Boltzmann Method)??紫毒W絡模型是以孔隙和喉道為基本組成單元的模型,它對不規則的孔隙喉道進行規則化抽象處理,將其等效為具有任意橫截面的管道,并且采用形狀因子記錄真實的形狀信息,使幾何計算得以簡化,從而使得更多的物理公式能直接用于滲流模擬分析??紫毒W絡模型是根據研究的問題定義具體的規則進行流動模擬的[3]。LBM把模擬介質看作由細微的“格子”狀的基本單元組成,通過模擬微觀粒子的運動過程和分布規律來模擬滲流過程。LBM是一種成熟的算法,被廣泛應用于多種領域的流體運動模擬[4-5]。但是傳統算法的計算規模過大,運算時間太長,在實際應用中極為耗時。為了解決模擬時間過長的問題,國內外學者都在研究一些基于并行技術的加速方案,這些方案多采用集群并行計算機來加速LBM模擬的方法。
 本文主要以D3Q19為模型來模擬流體,并針對LBM的算法特點對訪問的邊界數據進行特殊處理,減少了訪問邊界數據時的分支跳轉;同時,根據三維微觀巖石的空間結構特點,剔除了無效點,減少了運算時間。在國家自然科學基金項目中,參考文獻[5]在計算結構和粒子空間上進行了優化,本文在此基礎上進一步優化,取得了一定的效果。
1 LBM和CUDA平臺
1.1 LBM的基本方法

 在LBM中,復雜流體運動被轉化為規則、離散的格子空間中的運動,一般采用DdQm模型來表示粒子在離散空間中的運動模型。其中,d代表空間的維數,m代表離散速度的方向數。與Navier-Stockes方程求解非線性偏微分方程不同[6],LBM僅用離散格子的遷移與碰撞來表述流體的運動。
模擬三維空間中流體的運動,一般采用D3Q13、D3Q15、D3Q19或D3Q27模型。在DdQm模型中,m越大時,LBM的精度越高,收斂速度越慢。
1.2 CUDA平臺
 在20世紀90年代,NVIDIA公司提出了圖形處理器GPU(Graphics Processing Unit),并且實現了硬件加速的三維坐標變換和光源計算T&L(Transformation and Lighting)技術。在數字圖像應用(游戲、工程制圖等)的強烈刺激下,GPU的性能不斷進步。在2001年,NVIDIA推出了一款支持可編程圖形流水線(Programmable Graphics Pipeline)的標志性產品GeForce 3。隨后,人們開始注意到GPU的高度并行化架構的優勢,通用計算圖形處理器GPGPU技術逐步發展起來,并且在科學計算領域得到了應用[7]。在2006年,NVIDIA公司發布了GeForce 8系列GPU,同時發布了GPU運用于通用計算的統一計算設備架構CUDA(Compute Unified Device Architecture)[8]。從此,GPU技術的發展進入了全新的時代。目前,GPU通用計算技術已廣泛應用于流體滲流模擬、天文計算、實時數字圖像處理與醫療診斷等眾多科學計算領域。在全球超級計算機前10排行榜中,有3個采用了CPU加GPU的異構方式[9]。
2 CUDA平臺上LBM并行算法優化
 本文主要從兩個方面對CUDA平臺上LBM并行算法進行優化:一是針對邊界數據進行處理,減少訪問存儲器次數;二是針對巖石的多孔介質的空間特點,從實質上提高運算過程中Wrap內有效點的比例,從而達到提高運算速度的目的。首先,在CUDA平臺上對LBM進行層次化劃分。CUDA線程劃分方式如圖1所示。
本文選擇每個CUDA線程處理一個LBM的離散格子。GPU中采用網格分層的方式來組織線程,合理地劃分Grid與Block才能充分發揮GPU的計算能力。
2.1 邊界數據處理
 在圖1所示的CUDA線程劃分方式下,分析粒子空間中格子數據的具體處理過程。考慮x與y方向的邊界格子中粒子的碰撞與遷移過程。因為在粒子沿坐標軸正方向遷移時,粒子分布函數將會離開格子空間發生越界,所以在這里對邊界數據進行特殊處理。


2.2 空間結構優化
 對于三維巖石微觀圖像而言,其孔隙空間具有多孔介質形態的特點,并且大多數情況下其孔隙度不超過20%。在滲流分析中,LBM的離散格子空間中有超過80%的粒子點不參與計算,如果這些格子點在參與計算,那么GPU中的Wrap有效率會大大降低。針對這種情況,可以在進行GPU執行語句前,在CPU程序中通過分支語句跳過。然而,引入分支條件一般會降低程序的運行效率(Wrap內的分支條件會被串行執行)。
在GPU中,計算與訪存均以Wrap(即32個線程)為單位。經過統計,在格子空間規模為128×128×128,孔隙度為12.42%的巖石孔隙結構中,有效點數為0的Wrap占總Wrap數的30%左右,有效點數越多的Wrap所占的百分比越小,如圖3所示。有效點不為0或者32的Wrap內會出現分支條件,且有效點數為0的Wrap是無效的,其內部所有線程均不作任何有效計算。并且,GPU平臺最優的是共享存儲器,而不是全局存儲器,故訪問全局存儲器相對耗時。如果能避免這些Wrap的無效點,那么訪問全局存儲器的數目就會大大降低,從而提高運算速度。為此,本文引入了分支條件,對于無效格子點,既不讀取任何數據也不執行任何計算。該分支條件對有效點數為32的Wrap不會產生任何影響。

 

 

 圖5中數據表明,經過3種顯卡測試,隨著孔隙度的減小,優化后均得到了明顯的加速效果??紫抖仍叫。琖rap中無效點的數目就越多,經過判斷跳過這些大量的無效點,運算時間大量減少。因為空間結構優化會受孔隙度的影響,所以不同孔隙度下的運行結果會有較大差距。
3.2 優化結果
 實驗采用孔隙度為0.26的一組微觀巖石圖像,在9600GT、GT240和GTX560Ti 3種不同性能顯卡上進行實驗。圖6為CPU在不同圖片規模下的運算結果。圖7為加速比,可以看出,經過優化后的計算速度有了顯著提升。
 從圖7可以看出,隨著圖像規模的增大,加速比有明顯的提升。因為隨著圖像規模增大,在格子遷移到邊界的數目增多,經過邊界數據處理后粒子直接命中下一個,分支判斷大量減少,提高了GPU中線程的使用效率,提高了運算速度。在圖片規模為1283、顯卡為GTX560Ti的情況下,優化加速比可以達到12左右。與參考文獻[5]的實驗結果對比,本文的實驗結果加速比提高了1.9倍以上。

 本文旨在提高Boltzmann算法在三維巖石微觀圖像上的計算速度,減少計算時間。對邊界數據進行處理,在邊界遷移時減少了分支判斷條件,減少了訪問全局存儲器的數目;針對三維巖石微觀圖像的空間結構特點,減少了Wrap內無效點數目,提升了GPU的線程利用率。三維巖石微觀圖像的流體滲透率的計算規模過大,計算時間較長的問題得到一定的改善。這擴大了Boltzmann算法在計算流體滲透率中的應用,使Boltzmann算法在較大規模的巖石微觀圖像的應用上更加具有實際意義。預計將來GPU計算將會代替CPU計算成為巖石微觀圖像滲流分析的主要手段。
參考文獻
[1] 陳杰,周改英,趙喜亮,等.儲層巖石孔隙結構特征研究方法綜述[J].特種油氣藏,2005,12(4):11-14.
[2] 趙秀才.數字巖心及孔隙網絡模型重構方法研究[D].北京:石油工程學院,2009.
[3] MANWART C, AALTOSALMI U, KOPONEN A, et al. Lattice-Boltzmann and finite-difference simulations for the permeability for three-dimensional porous media[J]. Physical Review E, 2002,66(1):16702.
[4] GLADROW W. Lattice-gas cellular automata and Lattice Boltzmann models[D]. Springer, 2005.
[5] Zeng Fansong, Teng Qizhi. Application and optimization for Lattice Boltzmann method in calculation of fluid permeability[J]. Computer Engineering and Applications, 2011,47(22): 156-159.
[6] Ming Pingjian. Numerical simulation of sloshing in rectangular tank with vof based on unstructured grids[J]. Journal of Hydrodynamics, 2010, 22(6): 856-864.
[7] 仇得元.GPU編程技術——從GLSL、CUDA到OpenGL[M].北京:機械工業出版社,2011.
[8] 張舒,褚艷利,趙開勇,等.GPGPU高性能運算之CUDA[M].北京:中國水利水電出版社,2009.
[9] SRIVASTAVA N. Top 10 super computer in the world [EB/OL].http://www.top10gallery.com/2012/02/top-10-super-computer-in-world-2012.html, 2012-2.
[10] NVIDIA CUDA C Best Practices Guide[Z]. Version 4.0. NVIDIA Corporation, 2011:103-105.
[11] VALDERHAUG T K. The Lattice Boltzmann simulation on multi-GPU systems[D]. Trondheim: Norwegian University of Science and Technology, 2011.
[12] HABICH J. Performance evaluation of numeric compute kernels on NVIDIA GPUs[M]. Master′s Thesis of Friedrich-Alexander-Universit Erlangen-Nurnberg, 2008.
[13] 李博,李曦鵬,張云,等.耦合Nvidia/AMD兩類GPU的格子玻爾茲曼模擬[J].科學通報,2009,54(20):3177-3184.
[14] 李森,李新亮,王龍,等.基于OpenGL的并行方腔流加速性能分析[J].計算機應用,2011,28(4):1401-1403,1421.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产日韩欧美在线一区| 欧美日韩精品二区| 国产精品v欧美精品v日本精品动漫| 欧美日韩精品在线视频| 欧美电影在线免费观看网站| 一本色道婷婷久久欧美| 欧美激情在线| 欧美亚洲在线观看| 国产亚洲福利社区一区| 欧美日韩a区| 久久久久在线| 亚洲精品一区二区三区四区高清| 麻豆成人在线观看| 亚洲精品国产精品国产自| 亚洲日本激情| 欧美日韩国产不卡| 欧美一区2区视频在线观看| 国产精品久久久久久久久久三级| 欧美a级在线| 亚洲国产日韩欧美在线99| 国产日韩av高清| 欧美日韩一区二区高清| 欧美激情精品久久久久久大尺度| 亚洲欧洲精品一区二区三区波多野1战4| 欧美黄色免费网站| 欧美日韩免费看| 国产欧美在线播放| 狠狠综合久久av一区二区老牛| 欧美亚洲成人网| 欧美成人r级一区二区三区| 亚洲最快最全在线视频| 一色屋精品视频在线观看网站| 亚洲欧洲精品一区二区三区| 国产精品一国产精品k频道56| 国产裸体写真av一区二区| 国产精品欧美一区喷水| 久久精品国产一区二区三| 亚洲一二三区在线| 国产精品日韩电影| 欧美视频三区在线播放| 国产一区清纯| 欧美日本精品在线| 亚洲精品免费在线播放| 国产精品av一区二区| 一区二区三区中文在线观看| 亚洲区免费影片| 国外成人免费视频| 国产精品美女一区二区在线观看| 欧美日韩在线大尺度| 欧美日韩第一区| 国产一区二区成人| 亚洲啪啪91| 久久综合电影一区| 国产精品你懂的| 欧美日韩国产丝袜另类| 国产精品夜夜嗨| 国户精品久久久久久久久久久不卡| 欧美日韩高清区| 久久人人九九| 尤妮丝一区二区裸体视频| 亚洲欧美国产不卡| 亚洲最新合集| 精品成人在线视频| 欧美日韩成人一区| 老色鬼精品视频在线观看播放| 国产女主播在线一区二区| 91久久一区二区| 欧美日韩一区二区视频在线| 久久精品99国产精品日本| 欧美成人免费在线观看| 一区二区欧美国产| 好看的亚洲午夜视频在线| 亚洲高清在线观看一区| 伊人久久男人天堂| 欧美不卡激情三级在线观看| 午夜精品久久久久久久白皮肤| 永久免费精品影视网站| 欧美久久一级| 国产欧美日韩另类视频免费观看| 欧美大片在线观看一区| 欧美精品少妇一区二区三区| 美女91精品| 99国产精品国产精品久久| 欧美中日韩免费视频| 久久大香伊蕉在人线观看热2| 欧美性大战久久久久久久| 欧美11—12娇小xxxx| 国产精品二区二区三区| 性欧美大战久久久久久久久| 中国女人久久久| 亚洲资源av| 国产精品成人免费精品自在线观看| 亚洲专区欧美专区| 国产一区二区成人久久免费影院| 亚洲男人第一av网站| 快she精品国产999| 久久久久国产免费免费| 国产欧美在线观看一区| 久久精品一区蜜桃臀影院| 亚洲东热激情| 日韩一级精品视频在线观看| 欧美第一黄网免费网站| 欧美日韩国产成人在线91| 国产日韩在线一区二区三区| 欧美日本在线看| 亚洲网站啪啪| 亚洲精品123区| 国产精品国产三级国产aⅴ浪潮| 欧美14一18处毛片| 欧美亚韩一区| 一区二区三区日韩在线观看| 亚洲制服欧美中文字幕中文字幕| 国内精品国语自产拍在线观看| 欧美三级不卡| 麻豆精品视频在线观看视频| 欧美黄色成人网| 亚洲成人在线视频网站| 久久激情五月激情| 欧美福利精品| 亚洲三级影片| 日韩午夜电影在线观看| 美女主播精品视频一二三四| 欧美另类一区二区三区| 99视频精品全国免费| 欧美激情自拍| 韩国精品一区二区三区| 欧美ab在线视频| 欧美一级电影久久| 国产日韩精品视频一区二区三区| 精品成人在线| 久久久精品2019中文字幕神马| 亚洲美女色禁图| 欧美性久久久| 欧美系列电影免费观看| 欧美夜福利tv在线| 亚洲午夜精品一区二区三区他趣| 欧美成人免费视频| 欧美剧在线免费观看网站| 国产精品a级| 噜噜噜在线观看免费视频日韩| 久久综合九色综合欧美狠狠| 亚洲成人中文| 欧美日韩精品免费观看视频| 美女精品视频一区| 欧美日韩岛国| 亚洲伦理在线观看| 欧美日韩精品一本二本三本| 亚洲国产岛国毛片在线| 欧美激情精品久久久久| 亚洲伦理网站| 国产一区二区激情| 欧美一级二级三级蜜桃| 亚洲小视频在线观看| 国产精品系列在线| 亚洲一区二区毛片| 永久免费精品影视网站| 久久综合九色欧美综合狠狠| 亚洲国产成人精品久久久国产成人一区| 久久精品国产99国产精品澳门| 欧美日韩在线观看一区二区三区| 欧美国产精品va在线观看| 欧美日韩第一区日日骚| 亚洲国产日韩欧美在线99| 欧美手机在线| 国产精品亚洲综合久久| 亚洲乱码国产乱码精品精可以看| 午夜精品久久久久久久久久久久久| 国产一区二区中文| 亚洲精品一区二区三区99| 狠狠网亚洲精品| 亚洲欧美国产日韩天堂区| 日韩系列欧美系列| 欧美成人a∨高清免费观看| 亚洲欧美另类国产| 激情亚洲一区二区三区四区| 久久精品一二三区| 亚洲黄色成人网| 欧美日韩成人综合天天影院| 欧美系列一区| 在线观看欧美视频| 亚洲精品久久久一区二区三区| 亚洲中午字幕| 国产一区二区三区成人欧美日韩在线观看| 国产精品日日做人人爱| 国产一区二区三区四区五区美女| 国产精品一区二区三区久久| 欧美成人亚洲成人日韩成人| 国产精品高潮呻吟| 一本综合久久| 亚洲国产精品综合| 欧美日韩国产系列| 欧美aⅴ99久久黑人专区| 久久国内精品自在自线400部| 亚洲三级免费观看| 欧美激情视频网站| 最新69国产成人精品视频免费| 国产精品video| 亚洲精品国产无天堂网2021| 99视频一区二区| 久久精品视频va| 亚洲精品日韩欧美| 99精品国产一区二区青青牛奶| 欧美日韩在线视频一区二区| 欧美成人一区二免费视频软件| 黑人极品videos精品欧美裸| 在线观看国产成人av片| 亚洲国产一成人久久精品| 黄色工厂这里只有精品| 国产精品wwwwww| 麻豆乱码国产一区二区三区| 99www免费人成精品| 国产精品永久免费在线| 伊人婷婷欧美激情| 麻豆亚洲精品| 国产日韩在线播放| 香蕉久久一区二区不卡无毒影院| 悠悠资源网久久精品| 久久精品男女| 欧美人与禽猛交乱配视频| 在线观看欧美| 美女脱光内衣内裤视频久久影院| 亚洲性视频网站| 久久国产福利| 一本久道综合久久精品| 久久久久**毛片大全| 激情综合色综合久久综合| 久久久久久国产精品mv| 国产精品一二三| 国产女人18毛片水18精品| 欧美三级网页| 欧美激情国产高清| 国产精品久久看| 亚洲国产成人在线视频| 国产原创一区二区| 午夜精品久久久久久久蜜桃app| 日韩亚洲欧美精品| 激情六月综合| 久久精品日韩一区二区三区| 亚洲福利视频在线| 精品动漫一区| 欧美视频在线观看视频极品| 久久久夜夜夜| 欧美精品成人91久久久久久久| 国产精品久久久久久久久搜平片| 亚洲女与黑人做爰| 亚洲视频一区在线观看| 国产精品白丝jk黑袜喷水| 欧美一区综合| 欧美jizzhd精品欧美巨大免费| 欧美中文字幕| 一二美女精品欧洲| 在线欧美影院| 国产精品theporn| 国产精品福利av| 欧美成人自拍视频| 国产亚洲一区二区精品| 亚洲国产精品va在看黑人| 午夜精品久久久久影视| 欧美精品一二三| 一本色道久久88综合日韩精品| 国产精品另类一区| 老司机aⅴ在线精品导航| 1024精品一区二区三区| 欧美四级剧情无删版影片| 一本色道**综合亚洲精品蜜桃冫| 亚洲人精品午夜在线观看| 欧美第一黄色网| 欧美天堂在线观看| 日韩一级二级三级| 国产精品白丝黑袜喷水久久久| 蜜桃av噜噜一区| 一区二区三区免费看| 亚洲一区二区三区777| 欧美有码在线观看视频| 亚洲欧美综合网| 欧美精品一区二区三区高清aⅴ| 欧美视频在线观看免费| 国产色产综合色产在线视频| 亚洲成色777777女色窝| 欧美日韩国产色综合一二三四| 性色av一区二区怡红| 久久国内精品视频| 美玉足脚交一区二区三区图片| 在线观看国产欧美| 欧美人妖另类| 亚洲高清三级视频| 伊人精品久久久久7777| 99re亚洲国产精品| 在线观看的日韩av| 国产视频精品网| 欧美成人乱码一区二区三区| 国产亚洲一区二区精品| 午夜精品久久一牛影视| 久久嫩草精品久久久久| 亚洲日本中文字幕免费在线不卡| 欧美日韩免费在线观看| 亚洲欧美国产制服动漫| 国产精品高精视频免费| 亚洲国产欧美在线| 久久不射2019中文字幕| 一个人看的www久久| 韩曰欧美视频免费观看| 久久国产99| 欧美日韩国产精品一卡| 欧美成人精精品一区二区频| 欧美日韩亚洲一区在线观看| 久久精品国产96久久久香蕉| 久久国产精品99久久久久久老狼| 欧美一二区视频| 欧美视频一区二区三区在线观看| 欧美日韩影院| 久久久女女女女999久久| 在线播放亚洲| 久久久国产一区二区三区| 久久久亚洲国产美女国产盗摄| 亚洲成色www久久网站| 一区二区三区国产精华| 欧美特黄视频| 国产精品成人免费| 麻豆精品在线视频| 欧美有码在线观看视频| 黑人中文字幕一区二区三区| 亚洲国产成人久久| 99爱精品视频| 亚洲国产精品久久久久秋霞不卡| 久久亚洲不卡| 欧美精品观看| 午夜日韩福利|