高新成 (東北石油大學現代教育技術中心,黑龍江 大慶 163318)石穎 (東北石油大學地球科學學院,黑龍江 大慶 163318)
?
基于CPU/GPU異構平臺的疊前逆時偏移成像系統
高新成 (東北石油大學現代教育技術中心,黑龍江 大慶 163318)石穎 (東北石油大學地球科學學院,黑龍江 大慶 163318)
針對目前地震資料偏移成像過程中代碼復雜分散、可移植性差和可視化操作弱等問題,結合疊前逆時偏移業務需求,研究了CPU/GPU協同并行計算技術優化疊前逆時偏移成像算法,設計了逆時偏移系統流程與功能,開發了一套基于CPU/GPU異構平臺的疊前逆時偏移成像系統。利用自設模型和傳統模型數據對系統進行測試,測試結果表明系統操作方便可行,運行效果良好,能夠有效的對復雜構造地質體精確成像。
逆時偏移;CPU/GPU并行加速;PML邊界條件;QT
隨著地震資料偏移成像應用推廣,在逆時偏移成像處理中積累了很多的應用程序和方法,如何將這些程序和方法集成整合起來,實現偏移成像的可視化操作和高效管理成為當前研究的重要課題[1]。目前疊前逆時偏移是獲得復雜構造精確成像最有效的方法[2]。為此,筆者結合疊前逆時偏移業務需求研究地震波場正演模擬、成像條件、邊界吸收條件和噪音壓制算法等,形成了一套疊前逆時偏移成像方法;并研究了CPU/GPU異構平臺并行加速技術,將其應用于疊前逆時偏移成像方法中地震波場正演計算、成像條件和波場反傳計算等計算環節,開發了一套基于CPU/GPU異構平臺的疊前逆時偏移成像系統,為油田開發資料的解釋提供技術支持。
1.1 疊前逆時偏移成像算法
筆者采用逆時偏移算法,在波場正演過程中采用隨機邊界條件和PML完全吸收邊界條件相結合的2種邊界處理方式,成像過程中采用互相關成像條件,成像后采用相應濾波法進行去噪[3~7]。逆時偏移算法實現流程如圖1所示。算法實現步驟如下:
步1 使用波動方程有限差分法沿時間正向延拓波場計算到Tmax時刻,保存最后2個時刻波場值。
步2 采用PML邊界條件,使用波動方程有限差分法沿時間正向延拓波場計算到Tmax時刻,保存每個時刻的檢波點數據。
步3 讀取最后2個時刻波場值,使用波動方程有限差分法沿時間反向延拓計算到0時刻,計算每個時刻波場值。
步4 讀取檢波點數據,使用波動方程有限差分法沿時間反向延拓計算到0時刻,計算每個時刻波場值。
步5 讀取步3和步4同一時刻2個波場值,利用互相關成像條件進行成像,從Tmax到0時刻。
步6 循環計算多炮數據到Nshot,完成多炮成像結果疊加。
步7 采用濾波法對成像結果進行壓制低頻噪聲。
步8 輸出成像結果。
1.2 CPU/GPU協同加速逆時偏移流程
將CUDA編程思想引入到逆時偏移波場延拓和相關成像算法中,采用基于CUDA架構的CPU/GPU協同工作模式來處理逆時偏移計算任務。其主要思想是GPU端負責完成波場延拓和相關成像等并行計算任務,CPU端負責數據輸入和輸出等相關操作控制工作。

圖2 CPU/GPU協同加速逆時偏移流程
首先,將激發點初始波場值和檢波點最大時刻波場值由內部存儲器(內存)傳至設備存儲器(顯存)中[8]。其次,設置GPU計算維度,將GPU多核處理器劃分為相應個數的計算塊Block;同時將每個Block劃分為若干個計算線程Thread;開始執行炮點波場正傳和檢波點波場反傳計算任務。根據波場計算相關成像條件,需要同一時刻正向傳播的震源波場和反向傳播的檢波點波場,因此互相關成像計算也是由GPU來完成[9,10],具體實現流程如圖2所示。
2.1 系統設計流程
根據逆時偏移處理流程,將逆時偏移系統數據處理分為工區創建、數據加載、參數設置、作業發送和任務執行等多個步驟,并結合CPU/GPU協同并行計算模式[11]設計了逆時偏移數據處理系統流程(見圖3)。

圖3 逆時偏移系統處理流程
2.2 系統功能設計
根據逆時偏移的實際業務需求,設計并開發了疊前逆時偏移成像系統,主要完成二維和三維疊前逆時深度偏移成像功能。系統主要包括資源管理、參數設置、數據處理、任務管理、偏移成像和用戶管理等6個功能模塊(見圖4)。
1)資源管理。對所有資源節點進行實時有效地管理,能夠實時監控各個計算節點的運行狀態,獲取節點的性能參數,完成計算節點的獲取、添加和刪除等操作。
2)參數設置。完成逆時偏移成像前所需要的各類參數設置,包括工區創建、偏移成像前基本參數設置和高級參數設置。

圖4 疊前逆時偏移系統功能模塊圖
3)數據處理。完成偏移成像前數據的預處理,包括導入原始數據和導入速度模型等操作。
4)偏移成像。包括地震波場正演計算、檢波點波場反傳計算和互相關成像等操作。包括二維數據疊前逆時深度偏移成像和三維數據疊前逆時深度偏移成像功能,其中包括2D CPU RTM、2D GPU RTM、3D CPU RTM和3D GPU RTM。
5)任務管理。對逆時偏移成像任務的執行情況進行實時監測和管理,能夠監管整體任務和各個計算節點任務的執行情況。包括任務添加、任務刪除、任務重啟、任務中斷以及查看任務執行時間等操作,同時,也能實時監測出每個節點運行性能參數。
6)用戶管理。主要包括用戶管理、權限設置和日志查詢等功能。用戶管理包括用戶的添加、刪除和修改等操作,能夠根據用戶使用系統功能分配相應權限,根據權限不同,用戶登錄后顯示的操作界面也不同,并能夠記錄用戶操作日志。
根據疊前逆時偏移數據處理流程與實現算法,通過研究可視化平臺開發技術和疊前逆時偏移方法,在Linux環境下應用QT圖形界面開發平臺[12],設計并實現了一套疊前逆時偏移成像系統。針對逆時偏移實現過程中二維CPU、二維GPU、三維CPU和三維GPU偏移算法和處理方法不相同,分別設計了二維 CPU逆時偏移、二維GPU逆時偏移、三維 CPU逆時偏移和三維 GPU逆時偏移等功能。
3.1 疊前逆時偏移成像實現
疊前逆時偏移成像主要包括2D CPU逆時偏移、2D GPU逆時偏移、3D CPU逆時偏移和3D GPU逆時偏移4個模塊(見圖5)。筆者以2D GPU逆時偏移模塊為例描述系統的實現過程,其他模塊操作類似:首先創建工區,導入炮集數據和速度模型文件,設置偏移成像的相關參數;選擇2D GPU RTM處理方式和CPU計算節點,完成整體偏移成像。2D GPU逆時偏移具體操作如圖6所示。

圖5 2D CPU逆時偏移模塊

圖6 2D CPU逆時偏移成像
偏移成像界面中可以通過Edit按鈕修改參數,Inport按鈕載入參數卡文件,參數設定后,通過Export輸出參數卡文件。所有參數設置完成后,點擊Start按鈕發送作業開始執行逆時偏移計算,作業執行過程中點擊Refresh按鈕可以更新進度條,查看作業執行進度。
3.2 多節點任務管理的實現

圖7 多節點作業流程圖
系統設計了多節點間任務監控功能,支持異構節點間作業的發送與終止。通過對節點文件信息的讀取,識別節點設備名稱;根據節點名與登錄用戶名信息生成唯一的shell文件,作業發送或終止命令發出時,各節點執行自身匹配的shell文件完成作業操作。多節點作業發送流程如圖7所示。
在完成多節點作業發送功能基礎上,添加了多節點作業進度監控功能。在多節點任務執行過程中,作業流會定期更新進度文件并保存在工區指定目錄中。通過定期發送更新指令,系統從進度文件中讀取作業進度信息,完成進度顯示模塊的更新。
4.1 系統應用可行性分析
為驗證系統的可行性及算法集成后的有效性,試驗中選取一個斷層模型的200炮數據完成正演計算和偏移成像試驗。試驗節點為1個Intel E5-2630六核CPU處理器和Nvidia Tesla K10 GPU卡,試驗具體參數如表1所示。

表1 系統軟件測試
逆時偏移過程中采用時間二階、空間十階的有限差分數值算法完成地震波場正傳和檢波點波場反傳計算,采用震源歸一化互相關成像條件提取成像點,并采用拉普拉斯算子濾波法對圖像進行去噪處理,得到最終成像效果。試驗中的速度模型、逆時偏移成像后剖面和采用拉普拉斯算法去噪后剖面分別見圖8(a)、(b)和(c)所示。

圖8 逆時偏移系統測試
通過試驗成像結果發現,系統成像結果與源代碼方式成像結果基本一樣,沒有明顯區別。同時,試驗中源代碼計算與系統計算的執行時間分別為134.28s和133.46s,系統執行時間略少。可見,系統完成逆時偏移從成像效果和執行時間等方面具有可行性,成像效果良好。
4.2 系統2D RTM成像效果分析

表2 試驗參數
為驗證系統的成像效果,選取二維鹽丘(Salt-2D)模型進行疊前逆時偏移試驗。試驗環境為4個計算節點,每個節點配備1個Intel E5-2630六核CPU處理器和Nvidia Tesla K10 GPU卡,試驗參數如表2所示。
在Salt-2D模型試驗中,采用時間二階、空間十階的有限差分數值算法完成波場數值計算,采用互相關成像條件提取成像點,成像后采用拉普拉斯算子濾波法去噪。速度模型如圖9所示,逆時偏移成像結果如圖10所示。
從試驗結果可以看出,筆者設計的逆時偏移系統能夠有效的對地下結構精確成像,深層構造成像清楚,整體趨勢與速度模型數據基本一致,地層分界明顯,微幅構造成像清晰。
筆者主要圍繞逆時偏移系統設計與應用展開研究,通過研究逆時偏移成像算法和CPU/GPU并行加速技術,設計逆時偏移系統數據處理流程,并根據CPU和GPU程序代碼、處理方法不同設計了2D CPU逆時偏移、2D GPU逆時偏移、3D CPU逆時偏移和3D GPU逆時偏移等功能模塊,利用QT環境開發了基于CPU/GPU異構平臺的疊前逆時偏移成像系統。試驗結果表明系統具有可行性,與源代碼方式相比成像結果一致,能夠對復雜地下構造獲得良好的成像效果。同時,利用GPU多線程實現了大規模并行計算,大大提高了偏移計算效率。

圖9 Salt-2D速度模型

圖10 Salt-2D逆時偏移結果
[1]陳可洋. 地震波逆時偏移方法研究綜述[J]. 勘探地球物理進展,2010,33(3):153~159.
[2] Liu Y,Chang X,Jin D,et al. Reverse time migration of multiples for subsalt imaging[J]. Geophysics,2011,76(5):209~216.
[3] Costa J C,Silva Neto F A.Obliquity-correction imaging condition for reverse time migration[J]. Geophysics,2009,74(3):57~66.
[4] 高新成,李春生.基于CPU/GPU協同加速疊前逆時偏移方法研究[J].陜西理工學院學報(自然科學版),2016(2):44~49.
[5] 石穎,柯璇,張瑩瑩. 逆時偏移邊界條件與存儲策略分析[J].地球物理學進展,2015(2):581~585.
[6] Clapp R G. Reverse time migration with random boundaries[J]. 79th Annual International Meeting,SEG Expanded Abstracts,2009,28:2809~2813.
[7]Jiaze He,Fuh-Gwo Yuan.Damage identification for composite structures using a cross-correlation reverse-time migration technique[J]. Structural Health Monitoring,2015, 146:224~226.
[8] Ying Shi,Yanghua Wang. Reverse time migration of 3D vertical seismic profile data[J]. Geophysics,2016,81(1):31~38.
[9] 石穎,陸加敏,柯璇,等. 基于GPU并行加速的疊前逆時偏移方法[J].東北石油大學學報,2012,36(4):111~115.
[10] 劉守偉,王華忠,陳生昌,等. 三維逆時偏移GPU/CPU機群實現方案研究[J]. 地球物理學報,2013,56(10):3487~3496.
[11] 王維紅,柯璇,郭雪豹,等. 基于QT的Walkaway VSP逆時偏移軟件開發研究[J]. 石油物探,2015,54(4):452~458.
[12] 陳楠,祝媛媛,張光德,等. 基于QT的地震勘探可擴展平臺研發與應用[J]. 華北地震科學,2013,32(4):31~36.
[編輯] 辛長靜
2016-09-18
國家自然科學基金項目(41574117);黑龍江省教育科學規劃重點課題(GJB1215013)
高新成(1979-),男,博士,副教授,現主要從事地震數據處理與智能計算方面的教學與研究工作;E-mail:gxc@nepu.edu.cn。
TP399
A
1673-1409(2016)34-0015-06
[引著格式]高新成,石穎.基于CPU/GPU異構平臺的疊前逆時偏移成像系統[J].長江大學學報(自科版),2016,13(34):15~20.