GPU計算:石油勘探領域里的旅程碑
——北京吉星吉達科技有限公司總經(jīng)理劉欽
在石油和天然氣勘探開發(fā)領域,地震資料處理是非常重要的關鍵環(huán)節(jié)。
人們通過人工放炮方式產(chǎn)生地震波,然后將地下不同地質(zhì)層反射回來的地震波信號,通過地面檢波器收集后,利用大型計算機通過多套專業(yè)處理軟件和一套完整的疊前時間偏移、疊前深度偏移軟件系統(tǒng),進行資料處理,從而得到地下的構(gòu)造以及成像,便于勘探專家進行下一步的分析和解釋,掌握地下的油氣構(gòu)造,為石油鉆井提供更加可靠的勘探數(shù)據(jù)。要知道,石油鉆井井位的確定很關鍵,定錯一個井位,損失將十分慘重。
由于疊前時間偏移、疊前深度偏移動輒需要處理數(shù)以TB的海量數(shù)據(jù),因此對計算設備的性能提出非常高的要求。過去人們往往在服務器集群等大規(guī)模并行計算機上運行Paradigm、CGG、Omega等需要上百萬美元的專業(yè)處理軟件來運算這些海量數(shù)據(jù),但北京吉星吉達科技有限公司總經(jīng)理劉星和他的團隊卻成功地研制出了“油氣勘探地震偏移GPU/CPU協(xié)同并行計算軟硬件系統(tǒng)”,將疊前偏移的計算速度提高了幾十倍甚至上百倍,而系統(tǒng)構(gòu)建成本卻不到傳統(tǒng)并行機的十分之一。
挑戰(zhàn)
在地震勘探資料處理中,根據(jù)運算量的大小可以把處理技術分為兩大類:一類是目前CPU計算機可以滿足的普通處理技術,如解編、預處理、反褶積、靜校正、DMO、疊加、疊后偏移等;還有一類則是目前計算機不能完全滿足的需要大量運算的處理技術,如疊前時間偏移、疊前深度偏移、波動方程偏移等。后者往往成為目前地震資料處理過程中的“瓶頸”所在。
以疊前時間偏移為例,即便是用目前工業(yè)界最成熟的Kirchhoff積分法,每輸出一個地震道,就是一次海量運算。以1毫秒采樣,6秒數(shù)據(jù)為例,一個地震道的輸出需要至少1000萬道甚至更多(偏移孔徑?jīng)Q定)的輸入道,每一個點要做兩次均方根運算以及兩次加法運算,振幅補償兩次乘法運算。如此計算下來,實現(xiàn)一道偏移需要1000000x6000×2×(平方+加法+乘法)次數(shù)學運算,計算量和需要處理的數(shù)據(jù)量都極其巨大!
目前,人們往往使用大規(guī)模的X86服務器集群來進行疊前偏移處理,其原理是將數(shù)據(jù)先分配到各個CPU核上,然后由各個CPU核單獨進行計算,最后將結(jié)果匯總輸出。這種做法消耗了大量的時間、電力和維護費用。而且,隨著人們對石油勘探地震資料處理的周期要求越來越短,精度要求越來越高,PC服務器集群的規(guī)模越做越大,在系統(tǒng)構(gòu)建成本、數(shù)據(jù)中心機房空間、內(nèi)存和I/O帶寬、功耗散熱和電力限制、可管理性、編程簡易性、擴展性、管理維護費用等方面都面臨著巨大的挑戰(zhàn)。
“目前普遍采用的大規(guī)模PC服務器集群實現(xiàn)并行計算的模式,是用‘增加串行硬件的個數(shù)’實現(xiàn)并行計算,提高速度靠的是機群的節(jié)點數(shù)的增加!事實上,這是一種因計算機技術限制不得已而為之的方法。” 在石油勘探領域有著26年從業(yè)經(jīng)歷的劉欽表示:“如果能將GPUCPU的協(xié)同并行計算(CPPC)的模式用到地震勘探資料處理中,將實現(xiàn)用‘并行的硬件’實現(xiàn)并行計算,速度可以成數(shù)量級的提高!許多原來無法解決的問題現(xiàn)在可以用協(xié)同并行計算(CPPC)來輕松實現(xiàn),應用這項技術可以使地震資料處理中的許多矛盾迎刃而解。”
方案
2008年,經(jīng)過長期努力,中國科學院地質(zhì)與地球物理研究所和北京吉星吉達科技有限公司聯(lián)合研發(fā)成功了“油氣勘探地震偏移GPU/CPU協(xié)同并行計算系統(tǒng)”——在硬件層面將GPU和CPU兩種不同架構(gòu)的處理器結(jié)合在一起,組成硬件上的協(xié)同并行模式,同時在應用程序編寫上實現(xiàn)GPU和CPU的協(xié)同配合的并行計算(CPPC)。具體來說說,協(xié)同并行計算(CPPC)機就是由CPU負責執(zhí)行順序型的代碼,如操作系統(tǒng)、數(shù)據(jù)庫等應用,而由GPU來負責密集的并行計算。 #p#page_title#e#
作為該系統(tǒng)的硬件平臺,項目團隊開發(fā)成功一款GK-II型GPU/CPU協(xié)同并行計算機,是在一個24U高的機柜中安裝了6臺Nvidia Tesla S1070 1U機架式服務器和6臺配置兩顆2.5GHz四核CPU的2U機架式PC服務器,運算能力達到24萬億次每秒,總體功耗是7000瓦特。
同時,項目組借助Nvidia CUDA開發(fā)編程環(huán)境的支持,在中科院地質(zhì)與地球物理所劉洪研究員偏移算法的基礎上,按照GPU原理及協(xié)同并行計算(CPPC)的思路,針對偏移算法中不同階段的運算特點,采用不同的軟件編寫策略,在程序的每一個環(huán)節(jié)最大限度實現(xiàn)不同處理器協(xié)同計算,成功編寫了“非對稱走時Kirchhoff疊前時間偏移算法”的協(xié)同并行計算(CPPC)軟件。
2008年下半年,中科院地質(zhì)與地球物理研究所對系統(tǒng)進行了完成740平方公里三維疊前時間偏移處理(輸入數(shù)據(jù)768GB,輸出全部936條測線,4毫秒采樣,6秒道長)的測試。測試結(jié)果表明,在GK-II上運行“非對稱走時Kirchhoff疊前時間偏移軟件”處理上述數(shù)據(jù),僅用了55小時2分鐘,不到2.5天,而一套由32個雙路單核刀片服務器構(gòu)成的集群,使用某商業(yè)軟件,卻花費了3307小時12分鐘,約137天。
除了計算速度的對比測試,項目組還進行了資料處理效果的測試,畢竟,處理效果的后壞對于地震勘探來說更為重要。項目組使用該系統(tǒng)處理了大慶、河南、勝利、華北、吉林、新疆、中原、遼河等13塊、總面積超過50000平方公里,數(shù)據(jù)量約11.6TB的三維地震數(shù)據(jù)。測試結(jié)果表明該系統(tǒng)與常用商業(yè)軟件的整體效果相當,且對介質(zhì)橫向速度變化大、傾角陡的地區(qū)成像效果改善明顯,優(yōu)于目前的商用軟件。
2008年10月,中石油勘探生產(chǎn)分公司組織召開“GPU石油勘探應用研討會”,會上將此項技術定名為“GPU/CPU協(xié)同并行計算”(簡稱“CPPC”技術),會后制作了不同配置的8臺樣機并進行了測試驗證。經(jīng)過多方測試,結(jié)果表明:裝配了一個GPU的服務器的效率相當于50-200臺單核CPU節(jié)點的效率(視硬件配置不同而有差別),硬件成本不到目前普遍應用的大規(guī)模計算機群的十分之一,電費節(jié)省95%以上,占地空間省90%以上。如果考慮機房、空調(diào)、UPS、維護等因素,運營成本還會大幅度降低。同時,由于采用了精度更高的算法,地震資料處理結(jié)果的地質(zhì)效果明顯提高。
影響
相對于傳統(tǒng)的服務器集群,相同規(guī)模的GPU超級計算機在性價比、占地空間、功耗等方面占據(jù)非常明顯的優(yōu)勢。目前,一些國內(nèi)外企業(yè)和科研機構(gòu)都在使用CUDA進行協(xié)同并行計算軟件的研究開發(fā)工作,而在地震資料的疊前偏移處理方面,北京吉達吉星科技有限公司無疑已經(jīng)向前走了一大步。
2009年3月,兩套分別由12個和6個Nvidia Tesla S1070 GPU計算節(jié)點與相應CPU服務器節(jié)點構(gòu)成的GK-II協(xié)同并行計算機已經(jīng)安裝在了大慶油田研究院和勝利油田物探院,即將投入高密度三維處理的實際生產(chǎn)應用環(huán)境。
劉欽認為,“GPU/CPU協(xié)同并行計算(CPPC)帶給我們的是一場高性能計算的革命,可以預見,在不久的將來,GPU在地球物理領域?qū)⒄加兄匾牡匚?,就像當年PC服務器集群取代大型機一樣,現(xiàn)在廣泛應用的大規(guī)模CPU多節(jié)點并行模式,有被GPU/CPU協(xié)同并行模式取代的趨勢。”
由于處理速度的大幅提高,過去許多不可能進行的計算——如在現(xiàn)場處理中實現(xiàn)疊前偏移計算、快速的疊前深度偏移、大運算量的波動方程偏移技術的應用等,將成為可能。劉欽表示,北京吉達吉星科技有限公司在成功實現(xiàn)了疊前時間偏移軟件開始之后,已經(jīng)開始研制kirchhoff深度偏移、波動方程偏移和一系列交互輔助工具。
可見,GPU/CPU協(xié)同并行計算(CPPC)機將成為地球物理服務公司的新式武器,不僅可以實現(xiàn)低成本新建或改造大型超級計算中心,而且可以部署到散熱、供電、運維條件有限的特殊應用場合,如野外現(xiàn)場、大處理中心的分站、勘探船,從而可以大大提高地震資料處理的效率,縮短處理周期。 #p#page_title#e#