[發(fā)明專利]一種并行分子動力學模擬方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201910106432.3 | 申請日: | 2019-02-02 |
| 公開(公告)號: | CN109885917B | 公開(公告)日: | 2020-01-31 |
| 發(fā)明(設計)人: | 徐新海;林宇斐;任小廣;王倩;徐利洋;李豪;葉帥 | 申請(專利權)人: | 中國人民解放軍軍事科學院國防科技創(chuàng)新研究院 |
| 主分類號: | G06F30/20 | 分類號: | G06F30/20 |
| 代理公司: | 11271 北京安博達知識產(chǎn)權代理有限公司 | 代理人: | 徐國文 |
| 地址: | 100071*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 粒子 關系矩陣 分子動力學模擬 鄰居 并行 宏觀物理量 矩陣特征 模擬過程 模擬算法 順序計算 索引結構 預先建立 最小限度 并行度 復現(xiàn)性 觀測 更新 統(tǒng)計 | ||
一種并行分子動力學模擬方法,包括:依據(jù)預先建立的全鄰居列表粒子關系矩陣的順序計算每個粒子所受合力;依據(jù)所述每個粒子所受合力計算并更新所述全鄰居列表粒子關系矩陣中所有粒子的速度和位置信息;基于所有粒子的速度和位置信息對系統(tǒng)宏觀物理量進行統(tǒng)計與觀測。本發(fā)明提供的技術方案結合鄰居列表矩陣特征,確定粒子對關系矩陣和計算索引結構,實現(xiàn)了不同并行度下結果的按位一致,實現(xiàn)了計算的可復現(xiàn)性,同時最小限度的影響原有模擬過程,便于研究者排除模擬算法上的錯誤。
技術領域
本發(fā)明涉及高性能數(shù)值計算可復現(xiàn)領域,具體涉及一種并行分子動力學模擬方法及系統(tǒng)。
背景技術
數(shù)值計算可復現(xiàn)性是指當科學計算在具有不同類型和數(shù)量的處理單元的同一臺或不同的機器上運行多次時,獲得相同的結果,是程序調試,驗證和確認的關鍵。在排除隨機數(shù)因素影響外,數(shù)值計算不可復現(xiàn)的原因是計算機表示精度有限,造成浮點的加法運算不具有結合律,即(a+b)+c不等于a+(b+c)。并行計算因其計算量大、并行執(zhí)行模式復雜加劇了數(shù)值計算不可復現(xiàn)的問題。這導致判斷是否將程序正確的移植到新的系統(tǒng)越來越困難,因為計算結果很快偏離基準案例。
由于計算機只能表示有限精度,表達的計算數(shù)據(jù)本身存在截斷誤差,同時由于動態(tài)調度,并行執(zhí)行的影響使得計算順序存在不確定性。而大規(guī)模并行計算的計算量大,截斷誤差累積次數(shù)更多,并行也加劇了計算次序的不確定性。因此,現(xiàn)在針對并行數(shù)值計算可復現(xiàn)性的解決方法主要就是從降低截斷誤差影響和降低計算亂序的兩個方向展開的,分別對應于核心計算部分高精度數(shù)據(jù)類型和排序方法。
1.高精度數(shù)據(jù)類型
對于影響浮點運算結果的核心計算部分使用高精度數(shù)據(jù)類型是研究者大多使用的計算方法。數(shù)值可復現(xiàn)性和穩(wěn)定性在存在噪聲的模擬應用中已有一定研究。任意精度數(shù)學庫在上世紀70和80年代得到了廣泛的應用。在科學工程計算中,使用更高的精度類型來完成數(shù)值模擬。更高精度的計算結果可以通過任意精度庫來實現(xiàn),這些庫可以解決很多工程問題,例如當雙精度浮點數(shù)仍然無法滿足精度情況下,糾錯數(shù)值不穩(wěn)定性。
由于并行劃分的引入,導致不同并行度下針對同一問題的浮點運算順序不一致。一般情況,用更高精度的數(shù)據(jù)類型取代原有的double數(shù)據(jù)類型,例如128bit的浮點數(shù),但是這種方法引入了非常大的內存和計算時間消耗。折中的方法是使用大多數(shù)平臺都支持的long double數(shù)據(jù)類型,一種80bit的浮點數(shù)。這種數(shù)據(jù)類型可以弱化數(shù)據(jù)類型的提高對模擬效率造成的影響。
Kahan在1965年提出了一種利用進位位(carry bit)來保證截斷部分的加法運算。Kahan加將一個浮點數(shù)表征為兩個部分,值和誤差,通過攜帶進位位,來保證浮點計算的準確性。另外Knuth同樣提出類似的有限精度加法,利用進位位來保證浮點計算精度。之后,對于浮點計算可復現(xiàn)性的研究,多集中于采用不同種類的高精度的數(shù)據(jù)類型和改進的浮點運算中。
2.排序方法
最直接的方法就是將參與計算的數(shù)據(jù)按照某一種順序排列后相加,例如,按照升序。通過排序的方式,計算的一致性可以在任何條件下保持一致。當然,這種排序的累積和的方式也是具有截斷誤差的,但是其在不同的工況下的截斷誤差是相同的,因此可以達到計算可復現(xiàn)性的目的。排序方法的目的就是要確保不同并行度下,全部的浮點運算是一致的。當前研究者認為,排序方法是非常耗時的計算方法,即時在并行計算的情況下。雖然排序方法可以帶來一些好處,但是在實踐中對于排序的使用較少。另外一種類似排序的方式,是通過按數(shù)對相加在累加的過程。這個方法可以將相近精度的數(shù)據(jù)先相加再進行累加,這種方法的速度要優(yōu)于基于排序的方法。
分子動力學模擬計算中能量偏移是典型的研究數(shù)值計算可復現(xiàn)的場景。單個粒子所受合力計算過程是影響統(tǒng)計能量偏移的核心計算過程。該過程計算耗時占據(jù)分子動力學模擬的核心部分,如果將該過程采用高精度數(shù)據(jù)類型方法,會引入更大比例的計算耗時。而單個粒子合力計算過程較容易確定計算順序,更適合采用排序的方法設計并實現(xiàn)并行計算可復現(xiàn)性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍軍事科學院國防科技創(chuàng)新研究院,未經(jīng)中國人民解放軍軍事科學院國防科技創(chuàng)新研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910106432.3/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





