亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CUDA的測(cè)井?dāng)?shù)據(jù)并行處理方法初探

        2016-05-07 12:33:07張宮李寧羅超武宏亮馮慶付
        測(cè)井技術(shù) 2016年4期
        關(guān)鍵詞:數(shù)據(jù)處理程序深度

        張宮, 李寧, 羅超, 武宏亮, 馮慶付

        (1.中國石油勘探開發(fā)研究院, 北京 100083; 2.北京大學(xué)地球與空間科學(xué)學(xué)院, 北京 100871)

        0 引 言

        隨著測(cè)井技術(shù)的發(fā)展,測(cè)井?dāng)?shù)據(jù)量越來越大,處理方法越來越復(fù)雜,這對(duì)用于處理數(shù)據(jù)的計(jì)算機(jī)和處理軟件提出了新的要求。測(cè)井?dāng)?shù)據(jù)處理軟件以單機(jī)為主,處理程序也都為基于CPU的串行程序,在處理信息量較大或算法較為復(fù)雜的數(shù)據(jù)時(shí),處理能力顯得不足。雖然計(jì)算機(jī)的性能在不斷地提高,但還是很難滿足測(cè)井對(duì)數(shù)據(jù)處理速度的要求,尤其是高端測(cè)井?dāng)?shù)據(jù)處理,有時(shí)處理一口井?dāng)?shù)據(jù)的時(shí)間往往達(dá)到幾十分鐘甚至數(shù)個(gè)小時(shí)。

        針對(duì)上述問題,研究了在單機(jī)上利用CUDA(Compute Unified Device Architecture)平臺(tái),基于GPU高效處理測(cè)井?dāng)?shù)據(jù)的方法。CUDA技術(shù)是針對(duì)GPU的C語言環(huán)境之一,利用該技術(shù),能夠方便使用GPU處理復(fù)雜的計(jì)算密集型難題。自CUDA平臺(tái)推出以來,基于CUDA平臺(tái)的高性能并行計(jì)算就被廣泛應(yīng)用于地球物理勘探領(lǐng)域[1]。在地震勘探領(lǐng)域,CUDA技術(shù)已經(jīng)被應(yīng)用于解決地震波數(shù)值模擬[2]、偏移成像[3]等問題;在測(cè)井領(lǐng)域,雙側(cè)向測(cè)井有限元正演算法中CUDA技術(shù)的相關(guān)應(yīng)用已有報(bào)導(dǎo)[4],但測(cè)井?dāng)?shù)據(jù)處理中還未見有相關(guān)應(yīng)用。本文分析了測(cè)井?dāng)?shù)據(jù)處理并行計(jì)算的可行性,嘗試了在測(cè)井?dāng)?shù)據(jù)處理中使用CUDA技術(shù)進(jìn)行加速,并以核磁共振測(cè)井T2譜反演處理為例對(duì)加速效果進(jìn)行了分析。

        1 測(cè)井?dāng)?shù)據(jù)處理過程的并行性

        一般的測(cè)井?dāng)?shù)據(jù)處理程序包括數(shù)據(jù)加載、數(shù)據(jù)計(jì)算、數(shù)據(jù)寫回3個(gè)步驟。其中數(shù)據(jù)加載和寫回由于需要對(duì)硬盤進(jìn)行讀寫操作,只能作為串行程序執(zhí)行,測(cè)井?dāng)?shù)據(jù)的并行處理集中在數(shù)據(jù)計(jì)算的環(huán)節(jié)。并行數(shù)據(jù)處理分為2種模式,一種是任務(wù)并行性;另一種是數(shù)據(jù)的并行性,只有滿足這2個(gè)條件之一,并行處理才會(huì)發(fā)揮優(yōu)勢(shì)。典型的測(cè)井?dāng)?shù)據(jù)采集方法是以井眼為基礎(chǔ),逐深度點(diǎn)的采集儲(chǔ)層地球物理信息,數(shù)據(jù)處理時(shí)每個(gè)深度點(diǎn)的數(shù)據(jù)可以單獨(dú)處理,這個(gè)特點(diǎn)恰好滿足并行計(jì)算數(shù)據(jù)的并行性要求。

        圖1 數(shù)據(jù)依賴示意圖

        某些特殊的測(cè)井?dāng)?shù)據(jù)處理時(shí),1個(gè)深度點(diǎn)的計(jì)算結(jié)果,需要從臨近的1個(gè)或多個(gè)點(diǎn)進(jìn)行取值而產(chǎn)生數(shù)據(jù)依賴(見圖1),這將破壞數(shù)據(jù)的可并行性。對(duì)于這種情況,仍舊可以采用迭代重合處理的方法進(jìn)行并行化,即把處理任務(wù)按照結(jié)果個(gè)數(shù)進(jìn)行分割,每個(gè)深度點(diǎn)的結(jié)果作為一個(gè)獨(dú)立的運(yùn)算單元,只是取值時(shí)把當(dāng)前深度的值和附近需要的值一并進(jìn)行讀取。該方法雖然在數(shù)據(jù)讀取的時(shí)候稍有性能的浪費(fèi),但對(duì)于計(jì)算密集型的數(shù)據(jù)處理同樣會(huì)帶來處理效率的提高。

        2 基于CUDA平臺(tái)的GPU并行數(shù)據(jù)處理

        與CPU不同,GPU中大部分晶體管被用來進(jìn)行計(jì)算,只有少量晶體管被用來進(jìn)行指令控制,因此可以在單個(gè)芯片上集成大量的處理單元(見圖2),從而擁有CPU無法相比的計(jì)算性能。以最新的顯卡K80為例,其擁有高達(dá)4 992個(gè)處理單元,單精度峰值處理達(dá)到8.7萬億次。良好的硬件需要有配套的軟件才能發(fā)揮其優(yōu)勢(shì),CUDA平臺(tái)利用較為通用的C語言擴(kuò)展集,為用戶提供了一系列接口,使在GPU上進(jìn)行通用計(jì)算變得簡單可行。

        圖2 CPU與GPU芯片設(shè)計(jì)對(duì)比

        與CPU上運(yùn)行的程序設(shè)計(jì)最大的不同就是需要考慮存儲(chǔ)器的選擇,GPU能夠使用的存儲(chǔ)器類型很多(見表1),需要根據(jù)實(shí)際情況進(jìn)行選擇,從而使訪存性能達(dá)到最優(yōu)。

        GPU擁有成百上千個(gè)計(jì)算單元,但每個(gè)計(jì)算單元所擁有的寄存器和共享存儲(chǔ)空間卻是有限的,設(shè)計(jì)GPU并行程序時(shí),除了考慮任務(wù)和數(shù)據(jù)的并行性外,還要考慮單個(gè)獨(dú)立的計(jì)算單元需要的存儲(chǔ)空間。例如,對(duì)于核磁共振測(cè)井T2譜反演算法,假如輸入的回波串長度為500個(gè)單精度浮點(diǎn)數(shù),布點(diǎn)個(gè)數(shù)為30個(gè),那么1個(gè)計(jì)算單元需要約60 kB的存儲(chǔ)空間。以GTX765M顯卡為例,每個(gè)線程塊寄存器數(shù)量為65 536,共享存儲(chǔ)容量為48 kB,顯然滿足不了1個(gè)計(jì)算單元60 kB的存儲(chǔ)需求,只能退而求其次,選擇相對(duì)較慢的全局存儲(chǔ)或紋理存儲(chǔ)。

        表1 GPU存儲(chǔ)器類型

        3 測(cè)井?dāng)?shù)據(jù)處理程序的并行化改進(jìn)

        在Windows平臺(tái)上改寫了常規(guī)測(cè)井?dāng)?shù)據(jù)處理程序以及核磁共振T2譜反演程序,并對(duì)處理效率進(jìn)行了測(cè)試。

        3.1 核磁共振測(cè)井T2譜反演

        T2譜反演是核磁共振測(cè)井?dāng)?shù)據(jù)處理的關(guān)鍵步驟,也是利用核磁共振測(cè)井資料進(jìn)行儲(chǔ)層參數(shù)計(jì)算和油氣水識(shí)別的前提條件。核磁共振測(cè)井獲取的每個(gè)回波信號(hào)實(shí)際都是多種弛豫組分的總體效應(yīng)疊加,可以用多指數(shù)函數(shù)模型表示

        (1)

        式中,A(t)為t時(shí)刻測(cè)到的回波幅度;T2i為第i種弛豫分量的橫向弛豫時(shí)間;Pi為第i種弛豫分量的零時(shí)刻信號(hào)大小。

        每一特征弛豫時(shí)間T2i=αi/ρ,都可以用來表征孔隙尺寸的大小;Pi對(duì)應(yīng)某種特征弛豫尺寸孔隙的孔隙度大小。

        在反演中,T2i是預(yù)先設(shè)定一系列的值(T2布點(diǎn)),確定各設(shè)定弛豫T2i和特征弛豫組分m后,結(jié)合回波串A(tj),j=1,…,n可以構(gòu)成一個(gè)超定方程組,其矩陣形式

        XP=A

        (2)

        式中,P=(P1,…,Pm)T;A=(A(t1),A(t2),…,A(tn))T;

        由上述方程組計(jì)算得出Pi的過程叫做T2譜反演。一系列預(yù)設(shè)的Ti與對(duì)應(yīng)的Pi構(gòu)成了核磁弛豫分布,它們可以用來表征孔隙大小的分布。T2譜反演算法歸根到底是一個(gè)求解超定線性方程最優(yōu)非負(fù)解的問題。通常這個(gè)方程會(huì)非常大,需要利用矩陣分解或迭代方法進(jìn)行求解,方法有奇異值分解法、模平滑法和迭代法,這幾種算法都存在計(jì)算速度慢的問題[6]。為了測(cè)試,在原有的改進(jìn)型截?cái)嗥娈愔捣纸夥?SVD)反演算法基礎(chǔ)上,利用CUDA平臺(tái)將原程序改寫為GPU并行計(jì)算的T2譜反演算法程序。

        3.2 并行算法設(shè)計(jì)及優(yōu)化

        核磁共振測(cè)井T2譜反演流程如圖3所示,重要的步驟便是進(jìn)行奇異值分解,如果把奇異值分解算法全部放在GPU上進(jìn)行,就不得不考慮存儲(chǔ)空間的問題。在回波串長度為500,T2布點(diǎn)為30個(gè)的情況下,單個(gè)深度點(diǎn)需要的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)大于單個(gè)線程塊最大寄存器和共享存儲(chǔ)容量,只能考慮全局存儲(chǔ)。

        圖3 T2譜反演處理流程

        另外,GPU和CPU架構(gòu)差異較大,對(duì)于擁有較大的計(jì)算能力且?guī)掃h(yuǎn)大于CPU,但在數(shù)百個(gè)線程同時(shí)執(zhí)行時(shí),數(shù)據(jù)吞吐方面仍舊會(huì)顯得帶寬不足。對(duì)于T2譜反演算法,除了把計(jì)算任務(wù)移植到GPU上外,還要進(jìn)行訪存模式的優(yōu)化。在程序設(shè)計(jì)完畢后對(duì)程序進(jìn)行了訪存模式檢查,盡量采取合并訪存的方式進(jìn)行數(shù)據(jù)訪問。

        3.3 并行結(jié)果及效率分析

        為了驗(yàn)證程序的正確性和效率,采用某實(shí)測(cè)井?dāng)?shù)據(jù)進(jìn)行測(cè)試,處理井段長度為1 000 m,采樣間隔0.1 m,處理點(diǎn)數(shù)為10 000個(gè)。每個(gè)深度點(diǎn)采集的回波串個(gè)數(shù)為500個(gè),T2反演布點(diǎn)數(shù)目設(shè)置為30,對(duì)數(shù)均勻分布于0.3~3 000 ms之間。測(cè)試使用的計(jì)算機(jī)CPU為酷睿I74 700MQ,擁有8個(gè)邏輯核心,標(biāo)準(zhǔn)頻率為2.4 GHz;對(duì)比用的GPU為英偉達(dá)GTX765M,擁有768個(gè)處理單元,2 GB的全局存儲(chǔ)。原有在CPU上運(yùn)行的程序處理完成耗費(fèi)時(shí)間131 428 ms,進(jìn)行GPU并行化改進(jìn)后處理耗時(shí)為7 248 ms,加速比達(dá)到18倍左右。

        圖4 計(jì)算結(jié)果對(duì)比

        圖4中第1道為深度道;第2、3道分別為原有在CPU上運(yùn)行的T2譜反演程序計(jì)算的結(jié)果及移植到CUDA平臺(tái)利用GPU計(jì)算的結(jié)果,其結(jié)果幾乎完全一致;第4、5、6、7道分別是用2個(gè)T2譜計(jì)算得到的幾何平均值、總孔隙度、有效孔隙度和可動(dòng)流體孔隙度,可以看出在個(gè)別地方略有差異外,結(jié)果完全一致。分析發(fā)現(xiàn),計(jì)算結(jié)果的差異是因?yàn)镃PU和GPU浮點(diǎn)數(shù)保留位數(shù)不同,但兩者的計(jì)算結(jié)果在可接受誤差范圍內(nèi)。

        4 結(jié) 論

        (1) 基于GPU的處理程序具有明顯的效率優(yōu)勢(shì),測(cè)試的T2譜反演程序獲得了約18倍的加速比。說明CUDA的GPU并行計(jì)算可以應(yīng)用于測(cè)井?dāng)?shù)據(jù)處理中,在計(jì)算密集型的測(cè)井?dāng)?shù)據(jù)處理方面可以帶來可觀的性能提升。

        (2) 在進(jìn)行GPU并行程序設(shè)計(jì)時(shí),除了考慮處理任務(wù)的并行性外,還要根據(jù)實(shí)際情況進(jìn)行存儲(chǔ)器的選擇及訪存的優(yōu)化,才能使GPU的性能充分發(fā)揮。

        參考文獻(xiàn):

        [1] 張軍華, 臧勝濤, 單聯(lián)瑜, 等. 高性能計(jì)算的發(fā)展現(xiàn)狀及趨勢(shì) [J]. 石油地球物理勘探, 2010, 45(6): 918-925.

        [2] 王守進(jìn), 林年添, 丁仁偉, 等. 利用GPU技術(shù)及分塊策略加速地震波場(chǎng)模擬 [J]. 地球物理學(xué)進(jìn)展, 2014, 29(3): 1292-1297.

        [3] 張兵, 趙改善, 黃駿, 等. 地震疊前深度偏移在CUDA平臺(tái)上的實(shí)現(xiàn) [J]. 勘探地球物理進(jìn)展, 2008, 31(6): 0427-0433.

        [4] 蘇俊, 尚景濤, 鄒長春. 雙側(cè)向測(cè)井有限元正演算法的GPU并行實(shí)現(xiàn) [C]∥中國地球科學(xué)聯(lián)合學(xué)術(shù)年會(huì), 北京: 2014.

        [5] 何宗斌, 張宮, 樊鶴. 一種基于并行計(jì)算技術(shù)提高測(cè)井?dāng)?shù)據(jù)處理速度的方法 [J]. 石油天然氣學(xué)報(bào), 2012, 34(7): 76-79.

        [6] 張宮. 核磁共振測(cè)井?dāng)?shù)據(jù)處理方法與軟件開發(fā)研究 [D]. 武漢: 長江大學(xué), 2013.

        猜你喜歡
        數(shù)據(jù)處理程序深度
        認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
        深度理解一元一次方程
        試論我國未決羈押程序的立法完善
        深度觀察
        深度觀察
        深度觀察
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
        亚洲欧洲无码av不卡在线| 在线国产激情视频观看| 亚洲综合天堂av网站在线观看 | 亚洲综合国产精品一区二区| av网站免费线看精品| 国产精品无码专区av在线播放| 亚洲天堂资源网| 青青草免费在线视频导航| 日本一区二区三区人妻| 粉嫩被粗大进进出出视频| 欧洲在线一区| 国产精品久久夜伦鲁鲁| 亚洲高清在线天堂精品| 国产精品成人观看视频| 婷婷色综合成人成人网小说| 在线观看国产精品一区二区不卡| 午夜人妻久久久久久久久| 国产黄在线观看免费观看不卡| 国产亚洲女在线线精品| 伊人久久大香线蕉av色婷婷| 十八禁无遮挡99精品国产| 疯狂做受xxxx高潮欧美日本| 久久aⅴ无码av高潮AV喷| 男男啪啪激烈高潮无遮挡网站网址 | 国产精品亚洲三级一区二区三区| 免费久久人人爽人人爽av| 国产午夜亚洲精品理论片不卡| 国产一区二区av在线观看| 亚洲欧洲日产国码av系列天堂 | 中文字幕乱码亚洲精品一区| 欧洲亚洲综合| 中文字幕一区二区三区四区久久 | 色狠狠色狠狠综合一区| 一区二区三区在线蜜桃| 婷婷色婷婷开心五月四| 国产在线精品欧美日韩电影| 精品三级久久久久久久| 国产一区二区三区在线男友| 色拍自拍亚洲综合图区| 99热门精品一区二区三区无码| 精品黑人一区二区三区久久hd|