本發(fā)明屬于分子動(dòng)力學(xué)領(lǐng)域,尤其涉及一種眾核架構(gòu)處理器的原子tersoff勢模擬方法及系統(tǒng)。
背景技術(shù):
1、本部分的陳述僅僅是提供了與本發(fā)明相關(guān)的背景技術(shù)信息,不必然構(gòu)成在先技術(shù)。
2、分子動(dòng)力學(xué)模擬(md)效率的需求不斷增加。以lammps(large-scale?atomic/molecular?massively?parallel?simulator)分子動(dòng)力學(xué)模擬軟件為例,可模擬半導(dǎo)體的tersoff勢以及模擬軟材料和介觀粒子的相關(guān)勢場等。根據(jù)tersoff勢的原理公式可知,tersoff勢函數(shù)的計(jì)算非常復(fù)雜,且在實(shí)踐中,tersoff勢模擬過程也非常耗時(shí):在一臺頂級的臺式機(jī)處理器上,對于一個(gè)擁有512000個(gè)原子系統(tǒng)的tersoff勢,每天只能模擬0.4ns。
3、雖然,lammps使用鄰接表可以消除較遠(yuǎn)原子之間不必要的相互作用,但對于一些具有許多超越數(shù)學(xué)函數(shù)的復(fù)雜相互作用如tersoff勢,計(jì)算仍然較為密集,這樣仍無法滿足分子動(dòng)力學(xué)模擬效率的需求。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述背景技術(shù)中存在的技術(shù)問題,本發(fā)明提供一種眾核架構(gòu)處理器的原子tersoff勢模擬方法及系統(tǒng),其通過對眾核架構(gòu)處理器的硬件特性對原子tersoff勢模擬進(jìn)行深入分析和優(yōu)化,可顯著提升分子動(dòng)力學(xué)模擬軟件中的tersoff勢的計(jì)算性能,為材料科學(xué)領(lǐng)域的分子動(dòng)力學(xué)模擬提供更高效的計(jì)算平臺。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、本發(fā)明的第一個(gè)方面提供一種眾核架構(gòu)處理器的原子tersoff勢模擬方法。
4、一種眾核架構(gòu)處理器的原子tersoff勢模擬方法,其包括:
5、開辟各個(gè)線程的副本以代替原子鎖,預(yù)先處理各個(gè)線程所對應(yīng)的i原子的標(biāo)簽并與鄰接表重構(gòu)綁定;
6、初始化大小為n*n的數(shù)組,以存儲n個(gè)i原子的n個(gè)短鄰居原子;
7、遍歷n個(gè)i原子,使用指令集從鄰接表中篩選出i原子的短鄰居原子,并填充初始化的數(shù)組;
8、轉(zhuǎn)置填充后的數(shù)組,轉(zhuǎn)置后的數(shù)組的第j行代表n個(gè)i原子的第j個(gè)短鄰居,以進(jìn)行n個(gè)i原子的tersoff勢引力計(jì)算;
9、當(dāng)n個(gè)i原子短鄰居的受力計(jì)算完成后,向量化更新當(dāng)前n個(gè)i原子的受力,直至所有i原子受力計(jì)算完成,規(guī)約各個(gè)線程的副本受力并結(jié)束計(jì)算,釋放所有副本空間;其中,n為眾核架構(gòu)處理器中的一個(gè)向量單元可處理的32位整數(shù)類型元素的個(gè)數(shù);j為不小于1且不大于n的正整數(shù)。
10、本發(fā)明的第二個(gè)方面提供一種眾核架構(gòu)處理器的原子tersoff勢模擬系統(tǒng)。
11、一種眾核架構(gòu)處理器的原子tersoff勢模擬系統(tǒng),其包括:
12、標(biāo)簽處理模塊,其用于開辟各個(gè)線程的副本以代替原子鎖,預(yù)先處理各個(gè)線程所對應(yīng)的i原子的標(biāo)簽并與鄰接表重構(gòu)綁定;
13、數(shù)組初始化模塊,其用于初始化大小為n*n的數(shù)組,以存儲n個(gè)i原子的n個(gè)短鄰居原子;
14、數(shù)組填充模塊,其用于遍歷n個(gè)i原子,使用指令集從鄰接表中篩選出i原子的短鄰居原子,并填充初始化的數(shù)組;
15、引力計(jì)算模塊,其用于轉(zhuǎn)置填充后的數(shù)組,轉(zhuǎn)置后的數(shù)組的第j行代表n個(gè)i原子的第j個(gè)短鄰居,以進(jìn)行n個(gè)i原子的tersoff勢引力計(jì)算;
16、副本規(guī)約模塊,其用于當(dāng)n個(gè)i原子短鄰居的受力計(jì)算完成后,向量化更新當(dāng)前n個(gè)i原子的受力,直至所有i原子受力計(jì)算完成,規(guī)約各個(gè)線程的副本受力并結(jié)束計(jì)算,釋放所有副本空間;其中,n為眾核架構(gòu)處理器中的一個(gè)向量單元可處理的32位整數(shù)類型元素的個(gè)數(shù);j為不小于1且不大于n的正整數(shù)。
17、本發(fā)明的第三個(gè)方面提供一種計(jì)算機(jī)程序產(chǎn)品。
18、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述眾核架構(gòu)處理器的原子tersoff勢模擬方法中的步驟。
19、本發(fā)明的第四個(gè)方面提供一種眾核架構(gòu)處理器。
20、一種眾核架構(gòu)處理器,包括存儲器、處理器本體及存儲在存儲器上并可在處理器本體上運(yùn)行的計(jì)算機(jī)程序,所述處理器本體執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法中的步驟。
21、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
22、本發(fā)明通過開辟各個(gè)線程的副本以代替原子鎖,結(jié)合眾核架構(gòu)處理器的硬件多線程特性,預(yù)先處理各個(gè)線程所對應(yīng)的原子標(biāo)簽并與鄰接表重構(gòu)綁定,對各個(gè)線程的多個(gè)原子進(jìn)行tersoff勢引力計(jì)算,最后在所有相同標(biāo)簽的原子受力計(jì)算完成后,規(guī)約各個(gè)線程的副本受力并結(jié)束計(jì)算,釋放所有副本空間,顯著提升了分子動(dòng)力學(xué)模擬軟件中的tersoff勢的計(jì)算性能,滿足了分子動(dòng)力學(xué)模擬效率的需求。
23、本發(fā)明附加方面的優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
1.一種眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,包括:
2.如權(quán)利要求1所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,每次重新構(gòu)建鄰接表等于0時(shí),判斷原子是否屬性相同;對相同屬性的原子標(biāo)記標(biāo)簽,后續(xù)只計(jì)算標(biāo)記標(biāo)簽的原子。
3.如權(quán)利要求1所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,在n個(gè)i原子的tersoff勢引力計(jì)算的過程中,向量化循環(huán)更新n個(gè)i原子的受力。
4.如權(quán)利要求3所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,使用設(shè)定函數(shù)生成新的數(shù)值向量統(tǒng)計(jì)原子在當(dāng)前向量中出現(xiàn)的次數(shù)。
5.如權(quán)利要求1所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,在累加受力計(jì)算時(shí)使用double精度,整體能量直接累加計(jì)算時(shí)使用float精度。
6.如權(quán)利要求1所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,將副本空間釋放和重新分配與鄰接表重構(gòu)相關(guān)聯(lián)。
7.如權(quán)利要求1所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法,其特征在于,在i原子循環(huán)層面使用多線程并行策略,每個(gè)線程采用動(dòng)態(tài)i原子數(shù)量的受力計(jì)算,以確保線程負(fù)載均衡,每個(gè)線程計(jì)算對應(yīng)原子受力并更新副本。
8.一種眾核架構(gòu)處理器的原子tersoff勢模擬系統(tǒng),其特征在于,包括:
9.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,其特征在于,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7中任一項(xiàng)所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法中的步驟。
10.一種眾核架構(gòu)處理器,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1-7中任一項(xiàng)所述的眾核架構(gòu)處理器的原子tersoff勢模擬方法中的步驟。