一種利用openmp和mpi混合加速量子介觀體系求解的方法
【專利摘要】本發明提供一種利用OPENMP和MPI混合加速量子介觀體系求解的方法,將介觀物理體系能帶計算中的波矢獨立出來,并使用MPI進程并行來實現。然后將每個MPI進程中的哈密頓量矩陣元初始化,交由多核處理器間的并行線程完成,這部分由OpenMP來實現。之后再調用并行數學庫實現對矩陣本征值的求解。最后,將計算的結果歸約到MPI主進程上并輸出,從而有效加速介觀物理問題求解的計算。本發明充分發揮多核處理器的強大計算能力,并有效回避節點間通信帶寬低和延遲高的不足,進而極大的提高介觀物理問題在現代高性能計算集群上的計算速度和擴展性,大幅縮短對介觀體系的計算模擬時間。
【專利說明】-種利用OPENMP和MPI混合加速量子介觀體系求解的方法
【技術領域】
[0001] 本發明涉及高性能計算領域在計算物理學和納米材料科學方面的應用領域,具體 地說是一種利用OPENMP和MPI混合加速量子介觀體系求解的方法。
【背景技術】
[0002] 隨著人類社會的不斷進步,科學技術的發展,人們對自然界的認識越來越廣泛,并 逐步的向微、納觀等物理體系結構深入。與此同時,生物技術、化學生產及制藥的需求,也迫 切的要求人們能夠在電子、原子或分子尺度上來精確把握物體的性態,因此對介觀體系的 研究是與人類的生活密切關。就信息產業來說,現在的微處理器及存儲器芯片的基本組成 單元-晶體管的尺度已經達到了幾十個納米,已處理介觀體系的范疇。通過對介觀物理體 系的研究,一方面可以在原有的物理理論,諸如經典歐姆定律等,已經失效的前提下,給出 現有器件尺寸縮小的下限;另一方面,新發現的物理現象也為制作新型量子器件及新型材 料提供了物理基礎,如自旋電子學器件、量子點激光器等。
[0003] -般說來屬于介觀范疇的物理體系種類繁多,包括量子點(也稱作人造原子)、量 子環、納米線、納米彈簧等等。從理論上對這些介觀物理體系的研究和模擬計算對實驗研 究以及量子器件的制備具有重要的現實意義。自上個世紀量子力學理論誕生以來,人們逐 步發展了諸如絕熱近似、哈特里近似、哈特里-福克近似(Hartree-Fock)、密度泛函理論 (DFT)、變分法(Variational Method)、隨機相近似(Random-Phase Approximation)、分子 動力學方法以及組態相互作用(Configuration Interaction)方法等等,來計算介觀體系的 物理問題。這些方法適用于不同的場合,對特定的介觀體系有不錯的計算效果。但對于需 要考慮電子自旋的介觀體系或稀磁半導體等物理問題,人們往往還是從介觀體系嚴格的系 統哈密頓量出發,通過選取合適的基矢函數將哈密頓算符展開成哈密頓矩陣,并通過求解 量子力學本征值問題來得到介觀的各物理量。相比較而言,該基展開哈密頓量的方法物理 意義明確,且是數值精確的,只要基矢的數目足夠多,所得到的結果將是嚴格的。
[0004] 在實際計算過程中,根據所研究介觀體系的拓撲結構特點,人們往往選用不同的 基矢以達到最快速收斂的目的。常用的基矢有:平面波型基矢、勒讓德型基矢、貝塞爾基矢、 拉蓋爾基矢等等。為了使計算的結果盡可能的精確或計算體系的需求,實際往往需要大量 的基矢(設為M),但隨著基矢數目的增多,哈密頓矩陣的規模也急劇的擴大(M2),從而導致 哈密頓矩陣的初始化工作繁重,甚至于計算中絕大部分的時間都將花費在哈密頓矩陣元的 初始化計算上。如果我們可以加速哈密頓矩陣元的初始化,那么整個計算并不會花費太多 的時間。此外,為了能精確的反映介觀體系的物理特性,我們往往需要從能帶上著手研究, 而波矢(或磁場、電場等外場)間的計算相對獨立,通信較少。因此,如何加速哈密頓矩陣元 初始化和并行化能帶計算是本發明所要解決的主要問題。
【發明內容】
[0005] 本發明的目的是克服現有技術中存在的不足,提供一種利用OPENMP和MPI混合加 速量子介觀體系求解的方法。
[0006] 本發明的技術方案是按以下方式實現的,將介觀物理體系能帶計算中的波矢獨立 出來,并使用MPI進程并行來實現。然后將每個MPI進程中的哈密頓量矩陣元初始化,交由 多核處理器間的并行線程完成,這部分由OpenMP來實現。之后再調用并行數學庫實現對矩 陣本征值的求解。最后,將計算的結果歸約到MPI主進程上并輸出,從而有效加速介觀物理 問題求解的計算; 組織流程如下: (1) 寫出介觀體系物理問題的體系哈密頓量,選擇合適的基矢展開哈密頓算符,給出哈 密頓矩陣元的表達式; (2) 根據能帶計算的波矢數目,使用MPI并行化每個波矢點的計算; (3) 使用OpenMP隱語對哈密頓矩陣元初始化計算的兩重循環并行化,其中可能需要 考慮到一些循環體內變量的私有性,并根據每個線程的計算量和處理器的計算能力調整 OpenMP線程的負載平衡; (4) 對完成初始化計算的給定波矢下的哈密頓矩陣元做對角化操作,該部分可以調用 第三方數學庫,且有些數學庫已經做到了對矩陣對角化計算的并行化; (5) 在完成每個波矢點的能級計算后,使用MPI函數將結果歸約到MPI主進程,并按指 定的格式輸出; (6) 成計算得到能譜。
[0007] 利用能帶波矢間的相對獨立性,將每個或數個波矢點的計算交由MPI進程來完 成。
[0008] 對二維的哈密頓量元的初始化OpenMP化,并充分考慮到線程間的負載平衡性。
[0009] 將計算的結果歸約到MPI主進程,是指將各個MPI進程中所完成計算的波矢點上 的能級值,通過MPI歸約函數歸約到指定的MPI主進程上,并將計算的最終結果以指定的形 式輸出。
[0010] 本發明針對介觀問題中哈密頓矩陣元基矢展開計算的特點,將計 算過程分為兩個主要方面:初始化哈密頓量矩陣元(即使用基矢展開哈密頓 量算符)和能帶計算。對于前者由于需要初始化的矩陣元數目相對較大( M XM個),要求較多的計算資源和較高的存儲器帶寬,而每一個矩陣元的計算量并不算太 大,因此該部分屬于細粒度計算,比較適用于在多核處理器上使用多線程來完成。OpenMP適 合處理此類問題。對于后者,即能帶計算,是各個波矢(或磁場、電場等外場)間相對獨立的 計算,它們之間并不需要太多的通信,因此比較適合使用MPI在節點間并行處理。這樣即使 在網絡比較差的情況下,如千兆以太網,也可以擁有相當不錯的擴展性和效率。
[0011] 本發明的優點是: 本發明的一種利用OPENMP和MPI混合加速量子介觀體系求解的方法和現有技術相比, 充分發揮多核處理器的強大計算能力,并有效回避節點間通信帶寬低和延遲高的不足,進 而極大的提高介觀物理問題在現代高性能計算集群上的計算速度和擴展性,大幅縮短對介 觀體系的計算模擬時間。
【專利附圖】
【附圖說明】
[0012] 圖1為一種利用OPENMP和MPI混合加速量子介觀體系求解的方法的流程圖。
[0013] 實施方式 下面結合附圖對本發明的一種利用OPENMP和MPI混合加速量子介觀體系求解的方法 作以下詳細說明。
[0014] 如圖1所示,本發明的一種利用OPENMP和MPI混合加速量子介觀體系求解的方 法,將介觀物理體系能帶計算中的波矢獨立出來,并使用MPI進程并行來實現。然后將每 個MPI進程中的哈密頓量矩陣元初始化,交由多核處理器間的并行線程完成,這部分由 OpenMP來實現。之后再調用并行數學庫實現對矩陣本征值的求解。最后,將計算的結果歸 約到MPI主進程上并輸出,從而有效加速介觀物理問題求解的計算。
[0015] 組織流程如下: (1) 寫出介觀體系物理問題的體系哈密頓量,選擇合適的基矢展開哈密頓算符,給出哈 密頓矩陣元的表達式; (2) 根據能帶計算的波矢(外場)數目,使用MPI并行化每個波矢(外場)點的計算; (3) 使用OpenMP隱語對哈密頓矩陣元初始化計算的兩重循環并行化,其中可能需要 考慮到一些循環體內變量的私有性,并根據每個線程的計算量和處理器的計算能力調整 OpenMP線程的負載平衡; (4) 對完成初始化計算的給定波矢下的哈密頓矩陣元做對角化操作。該部分可以調用 第三方數學庫,且有些數學庫已經做到了對矩陣對角化計算的并行化(如MKL等); (5) 在完成每個波矢(外場)點的能級計算后,使用MPI函數將結果歸約到MPI主進程, 并按指定的格式輸出; (6) 成計算得到能譜,或根據上一步解出的結果計算其他物理量。
[0016] 利用能帶波矢間的相對獨立性,將每個或數個波矢點的計算交由MPI進程來完 成。
[0017] 將每個MPI進程中的哈密頓量矩陣元初始化,交由多核處理器間的并行線程完 成,對二維的哈密頓量元的初始化。
[0018] 本發明的一種利用OPENMP和MPI混合加速量子介觀體系求解的方法其加工制作 非常簡單方便,按照說明書附圖所示即可加工。
[0019] 除說明書所述的技術特征外,均為本專業技術人員的已知技術。
【權利要求】
1. 一種利用OPENMP和MPr混合加速量子介觀體系求解的方法,其特征在于將介觀物理 體系能帶計算中的波矢獨立出來,并使用MPI進程并行來實現;然后將每個MPI進程中的哈 密頓量矩陣元初始化,交由多核處理器間的并行線程完成,這部分由OpenMP來實現;之后 再調用并行數學庫實現對矩陣本征值的求解;最后,將計算的結果歸約到MPI主進程上并 輸出,從而有效加速介觀物理問題求解的計算; 組織流程如下: (1) 寫出介觀體系物理問題的體系哈密頓量,選擇合適的基矢展開哈密頓算符,給出哈 密頓矩陣元的表達式; (2) 根據能帶計算的波矢數目,使用MPI并行化每個波矢點的計算; (3) 使用OpenMP隱語對哈密頓矩陣元初始化計算的兩重循環并行化,其中可能需要 考慮到一些循環體內變量的私有性,并根據每個線程的計算量和處理器的計算能力調整 OpenMP線程的負載平衡; (4) 對完成初始化計算的給定波矢下的哈密頓矩陣元做對角化操作,該部分可以調用 第三方數學庫,且有些數學庫已經做到了對矩陣對角化計算的并行化; (5) 在完成每個波矢點的能級計算后,使用MPI函數將結果歸約到MPI主進程,并按指 定的格式輸出; (6) 成計算得到能譜。
2. 根據權利要求1所述的一種利用OPENMP和MPI混合加速量子介觀體系求解的方法, 其特征在于利用能帶波矢間的相對獨立性,將每個或數個波矢點的計算交由MPI進程來完 成。
3. 根據權利要求1所述的一種利用OPENMP和MPI混合加速量子介觀體系求解的方法, 其特征在于對二維的哈密頓量元的初始化OpenMP化,并充分考慮到線程間的負載平衡性。
【文檔編號】G06F17/10GK104391822SQ201410718008
【公開日】2015年3月4日 申請日期:2014年12月3日 優先權日:2014年12月3日
【發明者】劉羽 申請人:浪潮集團有限公司