聶琳娟 申文斌 王正濤 金濤勇
(1)武漢大學(xué)測(cè)繪學(xué)院,武漢 430079 2)湖北水利水電職業(yè)技術(shù)學(xué)院,武漢430070)
基于超級(jí)計(jì)算機(jī)平臺(tái)的并行解技術(shù)在衛(wèi)星重力測(cè)量中的應(yīng)用*
聶琳娟1,2)申文斌1)王正濤1)金濤勇1)
(1)武漢大學(xué)測(cè)繪學(xué)院,武漢 430079 2)湖北水利水電職業(yè)技術(shù)學(xué)院,武漢430070)
分析超級(jí)計(jì)算機(jī)平臺(tái)的并行解技術(shù)應(yīng)用于衛(wèi)星重力測(cè)量中的相關(guān)問題,對(duì)涉及的矩陣運(yùn)算并行化給出了數(shù)值計(jì)算和分析,并利用衛(wèi)星重力擾動(dòng)位觀測(cè)基于最小二乘直接解法,比較了OpenMP和MPI兩種并行化技術(shù)的計(jì)算效率。
衛(wèi)星重力;并行計(jì)算;重力位模型;OpenMP;MPI
隨著衛(wèi)星重力探測(cè)計(jì)劃的成功實(shí)施,地球重力場(chǎng)的研究成為國(guó)際大地測(cè)量學(xué)的熱點(diǎn)問題。如何高效深入地利用當(dāng)前(CHAMP、GRACE)和未來(GOCE)衛(wèi)星任務(wù)獲取的數(shù)據(jù)成為真正具有挑戰(zhàn)性的任務(wù)。隨著衛(wèi)星觀測(cè)數(shù)目的不斷增多,數(shù)據(jù)處理將成為地球重力場(chǎng)恢復(fù)中的一個(gè)關(guān)鍵問題。對(duì)于GRACE衛(wèi)星的數(shù)據(jù),如果30秒的數(shù)據(jù)采樣,一個(gè)月將有86 400個(gè)觀測(cè)值,如果計(jì)算一年平均重力場(chǎng)模型,觀測(cè)值將達(dá)到1 036 800個(gè),眾所周知,對(duì)于觀測(cè)方程的系數(shù)陣的形成,勒讓德函數(shù)的計(jì)算是最耗時(shí)間的過程,在GS80服務(wù)器上,如果球諧展開到90階,一個(gè)觀測(cè)將花費(fèi)1.5秒計(jì)算時(shí)間,如果展開到120階,將花費(fèi)4秒,因此,對(duì)于GRACE衛(wèi)星任務(wù),預(yù)期恢復(fù)重力場(chǎng)模型到120階,一個(gè)月的數(shù)據(jù)形成設(shè)計(jì)矩陣將花費(fèi)96小時(shí),這還未包括法方程的形成與解算。如果將來的衛(wèi)星重力梯度計(jì)劃GOCE順利實(shí)施,期望恢復(fù)重力場(chǎng)位系數(shù)到250階,對(duì)應(yīng)的未知數(shù)個(gè)數(shù)為62 997個(gè),如果所有數(shù)據(jù)均以雙精度保存,法方程矩陣的存儲(chǔ)空間要求31.75 G,雖然目前計(jì)算機(jī)的硬盤存儲(chǔ)不再是關(guān)鍵問題,但程序運(yùn)行需要31.75 G的內(nèi)存空間,對(duì)于目前任何一臺(tái)單機(jī)都無法滿足要求,因此無論是從計(jì)算時(shí)間考慮,還是從內(nèi)存管理考慮,都必須尋找解決問題的新方法,并行計(jì)算技術(shù)提供了解決這個(gè)問題的唯一途徑。
利用衛(wèi)星重力數(shù)據(jù)解算地球重力場(chǎng)模型引入并行算法的主要目的:在計(jì)算規(guī)模一定的情況下,盡量縮短計(jì)算時(shí)間;在給定的硬件設(shè)備限制范圍內(nèi),擴(kuò)大問題求解的規(guī)模。
算法的評(píng)價(jià)通常用執(zhí)行該算法所需的時(shí)間和所需的計(jì)算機(jī)內(nèi)存容量(空間)來評(píng)價(jià),即用算法的時(shí)間復(fù)雜度和空間復(fù)雜度衡量其效率和計(jì)算難度。由于我們的問題總是針對(duì)一定的規(guī)模進(jìn)行,因此對(duì)于時(shí)間復(fù)雜度給予更多的關(guān)注。眾所周知,同一算法的計(jì)算機(jī)執(zhí)行時(shí)間與計(jì)算機(jī)型號(hào)、程序語言及程序員的技能等有關(guān),因此,這個(gè)時(shí)間無法精確度量,我們需要基于算法本身來確定算法的時(shí)間復(fù)雜度,而不受機(jī)型以及這個(gè)算法如何編碼等因素的影響。時(shí)間復(fù)雜度簡(jiǎn)單地定義為:從輸入數(shù)據(jù)到計(jì)算出結(jié)果所需的時(shí)間,記為O(n)。表1給出了3類程序時(shí)間復(fù)雜度。
表1 三類程序時(shí)間復(fù)雜度計(jì)算Tab.1 Time complexity of three types of program
并行算法設(shè)計(jì)還需要研究并行程序中數(shù)據(jù)的相關(guān)性。能否將順序執(zhí)行的程序轉(zhuǎn)換成語義等價(jià)的、可并行執(zhí)行的程序,主要取決于程序的結(jié)構(gòu)形式,特別是其中的數(shù)據(jù)相關(guān)性。如果在機(jī)群上程序P1和P2的數(shù)據(jù)是彼此相關(guān)的,則程序不可能設(shè)計(jì)為并行結(jié)構(gòu)。通常利用伯恩斯坦準(zhǔn)則判斷兩個(gè)程序段能否并行執(zhí)行。如果用Ii表示程序Pi操作的讀入數(shù)據(jù),Oi表示程序操作的輸出數(shù)據(jù),則下列3種情況可以保證程序的并行化設(shè)計(jì):
1)I1∩O2=Φ:P1的輸入數(shù)據(jù)與P2的輸出數(shù)據(jù)集不相交;
2)I2∩O1=Φ:P2的輸入數(shù)據(jù)與P1的輸出數(shù)據(jù)集不相交;
3)O1∩O2=Φ:P1與P2的輸出數(shù)據(jù)集不相交。
如果保證了算法中存在不相關(guān)的進(jìn)程,從理論上講問題的解決可以通過并行程序?qū)崿F(xiàn)。并行程序是通過并行語言來表達(dá)的,通常產(chǎn)生并行語言有以下3種途徑:
1)設(shè)計(jì)全新的并行語言;
2)擴(kuò)展原有串行語言的語法成分,使其具有并行特征;
3)不改變串行語言,而為串行語言提供可調(diào)用的并行庫。
最完美的并行語言完全脫離串行語言的束縛,從語言成分上直接支持并行計(jì)算,可以使并行程序的書寫更方便更自然,相應(yīng)的并行程序也更容易在并行機(jī)上實(shí)現(xiàn)。但是由于并行計(jì)算至今還沒有像串行計(jì)算那樣統(tǒng)一的馮·諾伊曼模型可供遵循,因此并行機(jī)、并行模型、并行算法和并行語言的設(shè)計(jì)和開發(fā)千差萬別,沒有統(tǒng)一標(biāo)準(zhǔn),導(dǎo)致設(shè)計(jì)全新的并行語言實(shí)現(xiàn)起來難度和工作量都很大。
對(duì)于第二種方法,將對(duì)串行語言的并行擴(kuò)充作為原來串行語言的注釋得到新的并行程序,若用原來的串行編譯器編譯,標(biāo)注的并行擴(kuò)充部分將不起作用,若使用擴(kuò)充后的并行編譯器編譯,則該并行編譯器就會(huì)根據(jù)標(biāo)注的要求將原來串行執(zhí)行的部分轉(zhuǎn)化為并行執(zhí)行。相對(duì)于設(shè)計(jì)全新的并行語言,此種方法難度有所降低,但仍需重新開發(fā)編譯器,使其能夠支持?jǐn)U充的并行部分,仍具有相當(dāng)?shù)膹?fù)雜度。
對(duì)于已有的大量串行程序,最簡(jiǎn)單的并行化方法是直接加入對(duì)已有的并行庫的調(diào)用,這是一種對(duì)原來的串行程序設(shè)計(jì)改動(dòng)最小的并行化方法,這樣原來的串行編譯器也能夠使用,不需要任何修改,新的程序也將具有并行計(jì)算能力。當(dāng)前最流行的MPI并行程序設(shè)計(jì)就屬于這種方式。對(duì)于這3種并行語言的實(shí)現(xiàn)方法,目前最常用的是第三種方法。
由以上分析,我們必須針對(duì)重力場(chǎng)恢復(fù)算法進(jìn)行并行處理的可行性研究,尋找其中可以并行計(jì)算的階段,即此程序段間的數(shù)據(jù)之間存在互不相關(guān)性,同時(shí)保證所給出的并行程序結(jié)構(gòu)具有最小的時(shí)間復(fù)雜度。衛(wèi)星重力觀測(cè)計(jì)算重力場(chǎng)模型可采用動(dòng)力學(xué)法、能量法或加速度法,其核心思想即利用不同的衛(wèi)星觀測(cè)數(shù)據(jù)或其推導(dǎo)值可以得到各種重力觀測(cè)量,據(jù)此建立起與地球重力場(chǎng)模型位系數(shù)之間的函數(shù)關(guān)系,即觀測(cè)方程,從而可用最小二乘方法形成法方程,直接對(duì)法方程系數(shù)陣求逆可得位系數(shù)最佳估值。對(duì)于上述計(jì)算過程,經(jīng)分析可以得出衛(wèi)星重力場(chǎng)模型解算中通常存在的3種類型并行結(jié)構(gòu):
1)海量觀測(cè)數(shù)據(jù)的并行計(jì)算:將讀入的觀測(cè)數(shù)據(jù)等分地分配到各個(gè)CPU,各個(gè)CPU協(xié)同分別計(jì)算設(shè)計(jì)矩陣,最終通過迭加得到設(shè)計(jì)矩陣A,即利用并行設(shè)計(jì)將一個(gè)任務(wù)分成多個(gè)子任務(wù),達(dá)到減少計(jì)算時(shí)間的目的;
2)矩陣與矩陣乘和矩陣與向量乘;
3)線性方程組的求解(包括法方程直接求逆或共軛梯度迭代求解)。
對(duì)于后兩種并行計(jì)算的實(shí)現(xiàn),可以在原有代碼中加入調(diào)用已有的并行庫語句,經(jīng)過并行編譯器編譯,就可以實(shí)現(xiàn)并行計(jì)算,而不需要對(duì)原有程序作大的改動(dòng)。
由分析可以看出,提高重力場(chǎng)解算效率的關(guān)鍵問題之一就是矩陣運(yùn)算,尤其對(duì)于衛(wèi)星重力數(shù)據(jù)觀測(cè)導(dǎo)致的稠密矩陣,主要包括兩種運(yùn)算:矩陣相乘、矩陣與向量乘。由于矩陣與向量乘可以轉(zhuǎn)換為矩陣與一維矩陣乘,因此,本節(jié)給出矩陣相乘在GS80并行機(jī)上通過調(diào)用MPI庫的并行化設(shè)計(jì)。
給出一般性的假定:A為M×N階矩陣,B為N ×L階矩陣,C為M×L階矩陣,即求解矩陣乘積C =A·B。
由于GS80并行機(jī)共有8顆CPU,為了保證最大限度地利用計(jì)算資源,令程序進(jìn)程數(shù)NPROCS等于8。在通常情況下,矩陣的維數(shù)不為8的整倍數(shù),為描述簡(jiǎn)單,假定M和L均為8的整倍數(shù),則矩陣A、B和C的子塊大小分別為MLOC×N,N×LLOC,MLOC×L,A和C按行等分成子塊存儲(chǔ)在8個(gè)進(jìn)程中,B按列等分成子塊存儲(chǔ)在對(duì)應(yīng)的8個(gè)進(jìn)程中,其中MLOC=M/8,LLOC=L/8。圖1給出了矩陣乘法并行化分塊策略。
圖1 矩陣乘法并行化分塊策略Fig.1 Parallel partitioned strategy for matrix multiplication
圖1中分塊矩陣對(duì)應(yīng)的具體存儲(chǔ)方式為:
各個(gè)矩陣元素分別對(duì)應(yīng)存儲(chǔ)在進(jìn)程k的A、B和C數(shù)組中。如果保持矩陣A和C的子塊不動(dòng),矩陣B的子塊在各個(gè)進(jìn)程間循環(huán)移動(dòng),即可完成矩陣的并行乘法,程序設(shè)計(jì)算法流程見圖2。
為了解程序并行化對(duì)計(jì)算效率的提高程度,在GS80服務(wù)器上安裝了MPICH1.2.6版本,它支持所有的MPI-1.2特征和部分的MPI-2的特征,MPICH編譯安裝成功后,所有MPI并行程序的編譯與原先的FORTRAN編譯命令參數(shù)一致,只是編譯器由原先的f77/f90變?yōu)閙pif77,對(duì)應(yīng)程序的運(yùn)行需要調(diào)用mpirun命令,并且需要指定并行的CPU個(gè)數(shù),例如mpirun-np 8 program.bat命令指定使用CPU個(gè)數(shù)為8顆。表2給出了不同大小矩陣相乘在不同并行進(jìn)程數(shù)目下所花費(fèi)的時(shí)間與每秒百萬次浮點(diǎn)運(yùn)算MFLOPS(Million Floating-point Instruction Per Second)值。
從表2可以看出,對(duì)于小運(yùn)算量,并行算法并不能體現(xiàn)并行的優(yōu)點(diǎn),甚至?xí)档陀?jì)算速度,這主要是因?yàn)閿?shù)據(jù)在總線的傳輸時(shí)間大于CPU的計(jì)算時(shí)間,但對(duì)于大計(jì)算量的工作,并行算法將以幾何級(jí)數(shù)提高計(jì)算效率(TIME:20s-10s-5s),同時(shí)計(jì)算能力也大大增強(qiáng)(MFLOPS:50-100-200)。
圖2 矩陣乘法并行化流程圖Fig.2 Flow chart of matrix multiplication in parallel
表2 GS80服務(wù)器的并行計(jì)算效率Tab.2 Parallel computing efficiency of GS80 server
最小二乘直接解法形式上最為簡(jiǎn)單,并且能夠提供誤差估計(jì)信息,但由于其對(duì)于內(nèi)存的苛刻要求,使得200階以上重力場(chǎng)模型位系數(shù)在普通微機(jī)上的解算陷入困境。除了內(nèi)存限制外,構(gòu)建法方程矩陣及其求逆是一項(xiàng)十分耗時(shí)的工作,這些不利因素都可以通過并行計(jì)算得到解決。
對(duì)于最小二乘直接解法的流程,有3個(gè)關(guān)鍵的密集型計(jì)算任務(wù)。第一個(gè)是以行形式計(jì)算設(shè)計(jì)矩陣A,第二個(gè)是矩陣乘和向量乘分別得到法方程矩陣N和b,最后一個(gè)是線性方程系統(tǒng)的求逆。圖3給出了最小二乘直接解法流程圖。
圖3 最小二乘直接法流程圖Fig.3 Fflow chart of least squares direct method
作為實(shí)驗(yàn)算例,給出直接最小二乘算法的耗時(shí),利用16 200個(gè)衛(wèi)星重力擾動(dòng)位觀測(cè),基于擾動(dòng)位的球諧展開求解50階重力位系數(shù),程序中涉及的矩陣相乘等的數(shù)學(xué)運(yùn)算均直接調(diào)用數(shù)學(xué)函數(shù)庫,包括Intel MKL、Goto BLAS、BLACS和ScaLAPACK。通過在程序中設(shè)置時(shí)間斷點(diǎn),獲取每一步的計(jì)算時(shí)間,當(dāng)僅選取一個(gè)CPU時(shí),相當(dāng)于串行計(jì)算,具體耗時(shí)為:構(gòu)建A,耗時(shí)0.936 s;構(gòu)建N耗時(shí)12.739 s;構(gòu)建b耗時(shí)0.049 s;解方程耗時(shí)0.778 s,總時(shí)間耗時(shí)14.531 s。從統(tǒng)計(jì)結(jié)果可以看出,對(duì)于直接解最小二乘法,大部分的時(shí)間用在計(jì)算法方程矩陣N上,構(gòu)建設(shè)計(jì)矩陣A和解線性方程系統(tǒng)也需要花費(fèi)一定的時(shí)間。總時(shí)間則由觀測(cè)個(gè)數(shù)和未知數(shù)個(gè)數(shù)決定,但各部分的時(shí)間消耗比例基本保持不變,不隨問題的大小而改變。下面分別就OpenMP和MPI兩種并行化方法進(jìn)行詳細(xì)的對(duì)比與分析。
使用的OpenMP并行環(huán)境是Intel Fortran自帶的,通過在編譯命令里增加-openmp參數(shù)開啟并執(zhí)行并行運(yùn)算。從分析和OpenMP的特性可以看出,設(shè)計(jì)矩陣A,法方程矩陣N和線性方程系統(tǒng)解算3部分工作可以進(jìn)行并行計(jì)算。
對(duì)于多核心的CPU,改變默認(rèn)線程數(shù)n的命令是:
BASH環(huán)境:export OMP_NUM_THREADS=n
C-Shell環(huán)境:setenv OMP_NUM_THREADS=n
解算問題的規(guī)模保持不變,分別設(shè)置線程數(shù)n =1,2,3,4,計(jì)算結(jié)果如表3所示。為直觀表示,圖4給出了對(duì)比結(jié)果。
表3 基于OpenMP環(huán)境的運(yùn)行時(shí)間(單位:s)Tab.3 Run-time based on OpenMP parallel environment (unit:s)
圖4 基于OpenMP環(huán)境的運(yùn)行時(shí)間Fig.4 Run-time based on OpenMP parallel environment
從圖4可以看出,OpenMP的多線程并行計(jì)算有明顯的效果,尤其對(duì)于計(jì)算法方程矩陣N,計(jì)算時(shí)間成比例遞減,效果最好;對(duì)于計(jì)算設(shè)計(jì)矩陣A和解線性系統(tǒng)也有明顯改善。從圖4還可以看出,由于除N的計(jì)算外,其余幾項(xiàng)任務(wù)對(duì)線程數(shù)不敏感,因此當(dāng)線程數(shù)提高到3以上,總的計(jì)算時(shí)間并不能節(jié)約太多。
由此可以看出,基于OpenMP的并行化實(shí)現(xiàn)非常容易,只要程序中存在可以被并行化的部分,編譯器將自動(dòng)分析并給出并行化執(zhí)行方案,用戶不需要進(jìn)行交互操作,也不需要對(duì)進(jìn)程執(zhí)行進(jìn)行管理,但是這種方法局限于共享內(nèi)存構(gòu)架,只適用于SMP和DSM機(jī)器。
相比于OpenMP線程級(jí)并行化,MPI具有更好的擴(kuò)展性,它屬于進(jìn)程級(jí)的并行計(jì)算,適合于各種構(gòu)架,尤其是分布式存儲(chǔ)的特點(diǎn),除了SMP和DSM機(jī)器外,還被廣泛應(yīng)用于集群系統(tǒng)。
我們使用的MPI并行環(huán)境是Open MPI 1.2.6。它整合了其他MPI的優(yōu)點(diǎn),其目標(biāo)是成為最好的MPI運(yùn)行庫。編譯MPI程序需要執(zhí)行下列命令:
利用上述命令可以自動(dòng)鏈接所需要的MPI庫函數(shù),程序的執(zhí)行必須要求下面的格式:
mpirun--hostfile hosts-np n./program
n表示CPU個(gè)數(shù)或節(jié)點(diǎn)數(shù)。
基于MPI并行化計(jì)算的最小二乘算法的流程為:
1)初始化進(jìn)程節(jié)點(diǎn);
2)初始化矩陣和對(duì)應(yīng)的內(nèi)存分配;
3)分布式計(jì)算設(shè)計(jì)矩陣A;
4)分布式計(jì)算矩陣相乘和向量乘積;
5)線性方程系統(tǒng)的并行解;
6)參數(shù)估值的匯集;
7)退出各計(jì)算節(jié)點(diǎn)。
其中矩陣相乘和線性方程系統(tǒng)的解由ScaLAPACK的相關(guān)子程序計(jì)算。解得的結(jié)果分別存儲(chǔ)在分布式向量b中,輸出時(shí),需要將所有節(jié)點(diǎn)的系數(shù)歸集到一個(gè)節(jié)點(diǎn)上。
解算問題的規(guī)模保持不變,分別設(shè)置n=1,2,3,4,計(jì)算結(jié)果列于表4;圖5給出了對(duì)比結(jié)果。
表4 基于MPI并行環(huán)境的運(yùn)行時(shí)間(單位:s)Tab.4 Run-time based on MPI parallel environment(unit:s)
圖5 基于MPI并行環(huán)境的運(yùn)行時(shí)間Fig.5 Run-time based on MPI parallel environment
從圖5可以看出,MPI的多線程并行計(jì)算同樣有明顯的效果,可大大加速法方程矩陣N的生成,對(duì)于設(shè)計(jì)矩陣A,由于處理的問題太小,其計(jì)算時(shí)間沒有成比例的減少,反而隨著CPU數(shù)目的增多耗時(shí)越來越大。
除了上述兩種并行化設(shè)計(jì)外,分布式共享內(nèi)存(OpenMP+MPI)的并行計(jì)算機(jī)結(jié)合了前兩者的特點(diǎn),是當(dāng)今新一代并行計(jì)算機(jī)的一種重要發(fā)展方向。
由表5和圖6可以看出,相比于OpenMP,MPI由于涉及分布式內(nèi)存的信息傳遞,對(duì)于這樣的小規(guī)模運(yùn)算,并未能表現(xiàn)出優(yōu)勢(shì),相反,其運(yùn)算速度比OpenMP還慢。
表5 不同計(jì)算環(huán)境運(yùn)行時(shí)間(50階)(單位:s)Tab.5 Run-time based on different computing environments(unit:s)
圖6 不同計(jì)算環(huán)境運(yùn)行時(shí)間Fig.6 Run-time based on different computing environments
對(duì)于衛(wèi)星重力場(chǎng)恢復(fù)解算中涉及的3種類型并行結(jié)構(gòu)可以通過不同并行算法實(shí)現(xiàn),其中海量觀測(cè)數(shù)據(jù)的并行計(jì)算需要單獨(dú)設(shè)計(jì)并行程序,根據(jù)CPU的個(gè)數(shù)決定并行進(jìn)程的數(shù)目,在不同的CPU節(jié)點(diǎn)分別計(jì)算設(shè)計(jì)矩陣,完成各個(gè)節(jié)點(diǎn)計(jì)算后再累加求和即可得到設(shè)計(jì)矩陣A;對(duì)于矩陣相關(guān)運(yùn)算和線性方程組的求解,則可以通過MPI庫函數(shù)的調(diào)用實(shí)現(xiàn)。通過并行解技術(shù)以及超級(jí)計(jì)算機(jī)的使用,海量的衛(wèi)星重力觀測(cè)數(shù)據(jù)處理和更高階地球重力場(chǎng)模型球諧系數(shù)的解算將變得更加容易。與此同時(shí),對(duì)于不同的并行算法,需要考慮各自的最優(yōu)適用范圍,利用OpenMP可以簡(jiǎn)單的實(shí)現(xiàn)算法的并行化,對(duì)于小規(guī)模的計(jì)算,其速度要高于MPI并行程序,主要是MPI涉及消息傳遞,總線速度的快慢對(duì)其影響較大;對(duì)于循環(huán)算法的并行化,最優(yōu)的選擇是采用純MPI環(huán)境,注意避免更多的消息傳遞,尤其對(duì)于較慢的總線界面,例如傳統(tǒng)的網(wǎng)絡(luò);當(dāng)需要更少的消息傳遞時(shí),多線程的MPI程序的效率要遠(yuǎn)遠(yuǎn)高于單線程程序。
1 Gropp W,Lusk E and Skjellum A.Using MPI:Portable parallel programming with the message-passing interface[M].Cambridge,MA:MIT Press,1994.
2 Pail R and Plank G.Assessment of three numerical solution strategies for gravity field recovery from GOCE satellite gravity gradiometry implemented on a parallel platform[J].Journal of Geodesy,2002,76:462-474.
3 Pail R and Plank G.Comparison of numerical solution strategies for gravity field recovery from GOCE SGG observations implemented on a parallel platform[J].Advances in Geosciences,2003,1:39-45.
4 Xiao H D and Lu Y.Parallel computation for spherical harmonic synthesis and analysis[J].Computersamp;Geosciences,2007,33(3):311-317.
5 Xie J.Implementation of parallel least-square algorithm for gravity field estimation[R].Dept.of Geodetic Science,The Ohio State University,Columbus,Ohio,2005.
6 陳國(guó)良.并行計(jì)算——結(jié)構(gòu)、算法、編程[M].北京:高等教育出版社,1999.(Chen Guoliang.Parallel computing— structures,algorithms and programming[M].Beijing: Higher Education Press,1999)
7 李迎春.利用衛(wèi)星重力梯度測(cè)量數(shù)據(jù)恢復(fù)地球重力場(chǎng)的理論與方法[D].解放軍信息工程大學(xué),2004.(Li Yingchun.Theories and methods of the earth’s gravity field recovery by using of satellite gravity gradiometry data[D].PLA Information Engineering University,2004)
8 寧津生.衛(wèi)星重力探測(cè)技術(shù)與地球重力場(chǎng)研究[J].大地測(cè)量與地球動(dòng)力學(xué),2002,(1):1-5.(Ning Jinshedng.The satellite gravity surveying technology and research of earth’s gravity field[J].Journal of Geodesy and Geodynamics,2002,(1):1-5)
9 黃謨濤,等.超高階地球位模型的計(jì)算與分析[J].測(cè)繪學(xué)報(bào),2001,30(3):208-213.(Huang Motao,et al.Analysis and computation of ultra high degree geopotential model[J].Acta Geodaetica et Cartographica Sinica,2001,30 (3):208-213)
APPLICATIONS OF PARALLEL SOLUTIONS TECHNOLOGY IN SATELLITE GRAVITY MEASUREMENT
Nie Linjuan1,2),Shen Wenbin1),Wang Zhengtao1)and Jin Taoyong1)
(1)School of Geodesy and Geomatics,Wuhan University,Wuhan 430079 2)Hubei Water Resources Technical College,Wuhan 430070)
The parallel algorithm based on supercomputer for solving the Earth’s gravity field model was investigated.Shared and distributed parallel environment(OpenMPamp;MPI)applying to the least squares method are analysed and compared.Different threads,different node to determine the gravity field model at different levels of time consumption and efficiency are compared with each other.
satellite gravity;parallel computing;geopotenial model;OpenMP;MPI
1671-5942(2012)02-0064-06
2011-08-13
國(guó)家自然科學(xué)基金(41074014);湖北省高等學(xué)校青年教師深入企業(yè)行動(dòng)計(jì)劃項(xiàng)目(XD2010461);教育部博士點(diǎn)新教師基金(200804861022)
聶琳娟,女,博士生,講師.主要從事大地測(cè)量專業(yè)理論方法的教學(xué)與科研工作.E-mail:ljnie@whu.edu.cn
P223
A