[發(fā)明專利]基于MPI和OpenMP混合編程模型并行計算提高計算速度的方法有效
| 申請?zhí)枺?/td> | 201310442075.0 | 申請日: | 2013-09-25 |
| 公開(公告)號: | CN104461466B | 公開(公告)日: | 2018-09-21 |
| 發(fā)明(設計)人: | 羅海飆;王婷;陳春艷;廖俊豪 | 申請(專利權)人: | 廣州中國科學院軟件應用技術研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 廣州新諾專利商標事務所有限公司 44100 | 代理人: | 肖云 |
| 地址: | 511458 廣東省廣州*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mpi openmp 混合 編程 模型 并行 計算 提高 速度 方法 | ||
本發(fā)明公開了一種基于MPI和OpenMP混合編程模型并行計算提高計算速度的方法,包括:根據計算節(jié)點數目和節(jié)點內可用CPU核數確定可調用的MPI進程數和OpenMP線程數;每個進程讀入已有子稀疏矩陣A、子初始向量x0、塊向量b和最大計算公差Tolerance;每個進程開啟多線程編譯指令;在各個進程上進行預條件共軛梯度法的循環(huán)計算;若計算的誤差小于允許值,循環(huán)結束,否則繼續(xù)循環(huán)計算;歸約各個進程的計算結果,輸出問題的解;并行計算時,首先MPI進程啟動,對問題進行多進程分解,開始節(jié)點間的并行,每個MPI進程被分配到一個計算節(jié)點上,進程間使用消息傳遞交換信息;然后在每個MPI進程中,使用OpenMP制導指令創(chuàng)建一組線程,并分配到計算節(jié)點的不同處理器上并行執(zhí)行。
技術領域
本發(fā)明涉及一種并行計算技術,具體地說,涉及一種并行計算提高計算速度的方法。
背景技術
迭代法是目前求解大型稀疏線性方程組的主流方法,迭代法中的預條件共軛梯度法是通過預處理技術減少共軛梯度法的迭代次數,并能加速收斂的一種方法,在工程和科學計算中已有廣泛的應用。共軛梯度法是求解特定線性系統(tǒng)的數值解的方法,其中的系數矩陣為對稱和正定的實數陣。隨著科學與工程問題的規(guī)模和復雜程度的提高,串行共軛梯度法已經很難滿足對稀疏線性系統(tǒng)的求解規(guī)模和速度的要求。
由于串行計算本身存在的瓶頸,當計算量相對較大,計算機本身的性能將大大制約其進行演算的效率。現有技術中采用串行方法計算共軛梯度法,僅在處理稀疏矩陣向量乘時才啟用MPI,通過在各節(jié)點上計算分塊稀疏矩陣與分塊向量的乘積實現并行計算。但共軛梯度法除了稀疏矩陣向量乘,還有多個向量與向量、標量與向量的乘積和求和,以及線性方程組求解等計算步驟,這些計算仍然使用串行方法計算,不能最大限度地將算法并行優(yōu)化。對于分布式和共享式存儲結構混合的SMP集群系統(tǒng),難以充分利用計算資源,提升其計算速度。
發(fā)明內容
本發(fā)明的目的在于提供一種基于MPI和OpenMP混合編程模型并行計算提高計算速度的方法,通過利用集群以及多核平臺的優(yōu)勢,提升共軛梯度法的計算速度,滿足對稀疏線性系統(tǒng)的求解規(guī)模和速度的要求。
為了實現上述目的,本發(fā)明所采用的技術方案如下:
一種基于MPI和OpenMP混合編程模型并行計算提高計算速度的方法,包括以下步驟:
(1)計算準備、
a)啟動MPI多進程計算,其中進程數小于或等于可用計算節(jié)點數目;
b)每個進程讀入子稀疏矩陣A、子初始向量x0、塊向量b和最大計算公差Tolerance,子稀疏矩陣A、子初始向量x0和塊向量b是通過網格劃分軟件劃分問題的計算域后生成;
(2)開始預條件共軛梯度法的MPI+OpenMP并行的循環(huán)計算
1)根據初始值x0,計算r=b-Ax0;
2)每個進程開啟OpenMP多線程編譯指令,其中線程數小于或等于該線程所處計算節(jié)點可用CPU核數目;
3)開始for i=1,2,...循環(huán);
4)#pragma omp for指令多線程并行計算z=M-1r;
5)#pragma omp for指令多線程并行計算ρi-1=rTz;
6)#pragma omp single指令單線程進行MPI通信,MPI_Allreduce函數歸約各計算節(jié)點的ρi-1;
7)if i=1β=0elseβ=ρi-1/ρi-2;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州中國科學院軟件應用技術研究所,未經廣州中國科學院軟件應用技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310442075.0/2.html,轉載請聲明來源鉆瓜專利網。
- 采用MPI和OpenMP編程實現支持向量機方法
- 針對SMP集群系統(tǒng)采用MPI和OpenMP混合并行提高計算速度的方法
- 采用MPI與OpenMP編譯提高計算集群的STREAM Benchmark測試性能的方法
- 基于OpenMP的天文學軟件Gridding的處理方法
- 一種數據處理方法、裝置、設備及介質
- 一種基于PIKAIA遺傳算法和OpenMP共享內存模型的水質模型參數自動率定方法
- 一種基于OpenMP和CUDA的圖像特征提取并行算法
- 一種面向異構平臺的復雜指針數據結構自動管理系統(tǒng)
- 一種基于openmp加速的電子情報中頻數據處理方法
- 基于OpenMP和MPI的電磁波與等離子體作用的計算方法及裝置





