亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

鄰居粒子對(duì)搜索、分子動(dòng)力學(xué)計(jì)算方法及眾核處理系統(tǒng)的制作方法

文檔序號(hào):6379623閱讀:197來源:國知局
專利名稱:鄰居粒子對(duì)搜索、分子動(dòng)力學(xué)計(jì)算方法及眾核處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及面向眾核處理器的鄰居粒子對(duì)搜索、分子動(dòng)力學(xué)計(jì)算方法及應(yīng)用該方法的眾核處理系統(tǒng)。
背景技術(shù)
近年來多核設(shè)計(jì)逐漸成為高性能發(fā)展的趨勢(shì)和學(xué)術(shù)研究的熱點(diǎn)。多核處理器按照集成方式可以分為同構(gòu)多核處理器和異構(gòu)多核處理器。同構(gòu)多核處理器在一個(gè)芯片內(nèi)集成了多個(gè)同構(gòu)的處理器核,所有處理器核都運(yùn)行完整的操作系統(tǒng),面向相同的工作負(fù)載。因此,基于同構(gòu)處理器的程序其設(shè)計(jì)實(shí)現(xiàn)相對(duì)簡單。目前這一類處理器已經(jīng)全面推向市場。異構(gòu)多核處理器在結(jié)構(gòu)設(shè)計(jì)上與同構(gòu)多核處理器相比具有完全不同的特性。異構(gòu)多核處理器的一個(gè)芯片內(nèi)集成了多個(gè)異構(gòu)的處理器核,包括少數(shù)功能完備的處理器核,稱之為主處理器核(又稱主核,如Cell中的PPE,Godson中的Sync Node),主要完成控制密集的操作;以及大量功能受限的核心,我們稱之為從處理器核(又稱從核,如Cell中的SPE,Godson中的Tile Node),主要完成數(shù)據(jù)密集的操作?!銇碚f,一個(gè)主核和多個(gè)從核構(gòu)成一個(gè)核組,多個(gè)核組構(gòu)成一個(gè)完整的芯片。由于完整處理器核的邏輯復(fù)雜,受生產(chǎn)工藝的限制同構(gòu)多核處理器能夠集成的處理器核較少(一般為數(shù)十個(gè)),而異構(gòu)多核處理器由于從核邏輯功能簡單可以集成的處理器核眾多(64個(gè)以上),所以通常也稱異構(gòu)多核處理器為眾核處理器(many-core processor)。分子動(dòng)力學(xué)模擬是高性能計(jì)算的重要應(yīng)用領(lǐng)域,GR0MACS是一款功能強(qiáng)大的開源的分子動(dòng)力學(xué)模擬軟件,其研究范圍可以包括玻璃和液晶、到聚合物、晶體和生物分子溶液,其在模擬大量分子系統(tǒng)的牛頓運(yùn)動(dòng)方面具有極大的優(yōu)勢(shì),由于進(jìn)行了大量的算法優(yōu)化,該軟件計(jì)算性能可達(dá)同類軟件的3到10倍,但仍然無法滿足分子動(dòng)力學(xué)模擬日益發(fā)展的計(jì)算需求。GR0MACS向眾核處理器移植時(shí),進(jìn)程中的控制密集的操作在主核上進(jìn)行,計(jì)算密集的操作在從核上進(jìn)行,從而充分發(fā)揮從核的高速計(jì)算性能,實(shí)現(xiàn)進(jìn)程內(nèi)的加速。然而,利用現(xiàn)有技術(shù)將GR0MACS向眾核處理器移植時(shí),存在并行效率低以及數(shù)據(jù)寫沖突等問題。

發(fā)明內(nèi)容
針對(duì)上述問題,本發(fā)明提供一種面向眾核處理器的鄰居粒子對(duì)搜索方法及分子動(dòng)力學(xué)計(jì)算方法、及應(yīng)用上述方法的眾核處理系統(tǒng),使得眾核處理器系統(tǒng)實(shí)現(xiàn)進(jìn)程內(nèi)的加速運(yùn)算,進(jìn)一步縮短了程序運(yùn)行時(shí)間,并解決寫沖突的問題。為解決上述問題,本發(fā)明實(shí)施例提供了一種鄰居粒子對(duì)搜索方法,適用于配置成執(zhí)行分子動(dòng)力學(xué)計(jì)算的眾核處理系統(tǒng);該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;
從而在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息??蛇x地,所述的鄰居粒子對(duì)搜索方法,還包括在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。可選地,所述的鄰居粒子對(duì)搜索方法,還包括,對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子??蛇x地,所述的鄰居粒子對(duì)搜索方法,還包括,在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。可選地,所述的鄰居粒子對(duì)搜索方法,還包括,第一計(jì)算方式;第二計(jì)算方式。可選地,所述的鄰居粒子對(duì)搜索方法,還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。 本發(fā)明實(shí)施例還提供一種分子動(dòng)力學(xué)計(jì)算方法,適用于眾核處理系統(tǒng);該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;基于各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力??蛇x地,所述建立鄰居粒子對(duì)信息還包括記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式??蛇x地,所述的分子動(dòng)力學(xué)計(jì)算方法還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息??蛇x地,所述的分子動(dòng)力學(xué)計(jì)算方法采用第一計(jì)算方式計(jì)算各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律。可選地,所述分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì)還包括對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子??蛇x地,所述的分子動(dòng)力學(xué)計(jì)算方法還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。可選地,所述的分子動(dòng)力學(xué)計(jì)算方法,對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的各主粒子,采用第二計(jì)算方式計(jì)算該各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律。本發(fā)明實(shí)施例還提供一種眾核處理系統(tǒng),適用于分子動(dòng)力學(xué)計(jì)算,包括主處理器核和多個(gè)從處理器核該眾核處理系統(tǒng)包括鄰居粒子對(duì)搜索模塊及計(jì)算模塊;其中,所述鄰居粒子對(duì)搜索模塊適用于分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;所述計(jì)算模塊基于鄰居粒子對(duì)搜索模塊在各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力??蛇x地,對(duì)于各主粒子,所述鄰居粒子對(duì)搜索模塊進(jìn)一步適用于在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子??蛇x地,所述鄰居粒子對(duì)搜索模塊進(jìn)一步適用于在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。
可選地,所述的眾核處理系統(tǒng),還包括鄰居列表建立模塊,適用于以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。可選地,所述的眾核處理系統(tǒng),還包括鄰居列表分析模塊,對(duì)于處于計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì),采用第一計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律。可選地,所述的眾核處理系統(tǒng),還包括鄰居列表分析模塊,對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的鄰居粒子對(duì),采用第二計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律。與現(xiàn)有技術(shù)相比,本發(fā)明的實(shí)施例具有以下優(yōu)點(diǎn)I、本發(fā)明以主粒子所處計(jì)算區(qū)域內(nèi)的其余全部粒子作為鄰粒子搜索范圍,來確定該主粒子的鄰粒子,相比較現(xiàn)有技術(shù),擴(kuò)大了鄰粒子的搜索范圍,從而可以在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,生成重復(fù)的鄰居粒子對(duì),從而可以不必應(yīng) 用牛頓第三定律,消除從核間的寫沖突。2、本發(fā)明進(jìn)一步以主粒子所處計(jì)算區(qū)域邊界的粒子作為鄰粒子搜索范圍,改進(jìn)了現(xiàn)有技術(shù)不對(duì)鄰粒子所處區(qū)域(區(qū)域內(nèi)部或區(qū)域邊界)進(jìn)行區(qū)分的鄰居搜索方法,從而有利于根據(jù)鄰粒子所處的區(qū)域采用不同的計(jì)算方式。3、本發(fā)明在搜索到計(jì)算區(qū)域內(nèi)及計(jì)算區(qū)域邊界的所有鄰居粒子對(duì)之后,基于鄰粒子的不同搜索范圍進(jìn)一步建立鄰居列表,基于該鄰居列表采用不同的非成鍵力計(jì)算方式,具體又包括a.對(duì)于處于計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì),不采用牛頓第三定律計(jì)算該鄰居粒子對(duì)中主粒子和鄰粒子之間的相互作用力,因此不需要更新從處理器核上鄰粒子的受力,避免了從處理器核的寫沖突。b.對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的鄰居粒子對(duì),采用牛頓第三定律計(jì)算該鄰居粒子對(duì)的各主粒子的受力,從而確保計(jì)算區(qū)域邊界粒子的受力正確,同時(shí),由于只更新從核上鄰粒子的受力,進(jìn)而由主核統(tǒng)一進(jìn)行累加更新,這樣也避免了從處理器核的寫沖突。4、本發(fā)明的鄰居粒子對(duì)的搜索方法,使得計(jì)算體系內(nèi)的大部分粒子的受力計(jì)算可以不使用牛頓第三定律,可以在眾核系統(tǒng)的從核上并行,充分發(fā)揮從核的處理能力,實(shí)現(xiàn)了眾核處理系統(tǒng)進(jìn)程內(nèi)的加速計(jì)算。


圖I示出了根據(jù)現(xiàn)有技術(shù)建立的一組鄰居列表示意圖;圖2示出了根據(jù)本發(fā)明的一實(shí)施例提供的一組鄰居列表示意圖;圖3本發(fā)明第一實(shí)施例提供的一種鄰居粒子對(duì)搜索方法的流程示意圖;圖4是本發(fā)明第一實(shí)施例提供的另一種鄰居粒子對(duì)搜索方法的流程示意圖;圖5是本發(fā)明第一實(shí)施例提供的又一種鄰居粒子對(duì)搜索方法的流程示意圖;圖6是本發(fā)明的第二實(shí)施例提供的一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖;圖7是本發(fā)明的第二實(shí)施例提供的另一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖;圖8是本發(fā)明的第二實(shí)施例提供的另一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖;以及圖9是本發(fā)明實(shí)施例提供的一種眾核處理系統(tǒng)的方框示意圖。
具體實(shí)施例方式發(fā)明人根據(jù)GR0MACS程序提供的程序各模塊運(yùn)行時(shí)間比例分析發(fā)現(xiàn),在進(jìn)行分子動(dòng)力學(xué)計(jì)算時(shí),鄰居搜索和力的計(jì)算模塊占單進(jìn)程程序總運(yùn)算時(shí)間的近90%以上,而力的計(jì)算模塊又分為成鍵力計(jì)算和非成鍵力計(jì)算(PME),其中又以非成鍵力計(jì)算為主,并且非成鍵力計(jì)算模塊與鄰居搜索模塊連系最為緊密。在將GR0MACS向眾核處理器移植時(shí),非成鍵力計(jì)算模塊需要計(jì)算體系內(nèi)所有粒子的受力情況,是GR0MACS程序中計(jì)算最為密集的部分,因而首先考慮將多個(gè)粒子的受力分布到多個(gè)從核上進(jìn)行并行計(jì)算。為了便于理解多個(gè)粒子的并行計(jì)算,以下將舉例說明鄰居粒子對(duì)及其鄰居列表。例如,若i粒子和j粒子是一對(duì)鄰居(當(dāng)然,j粒子和i粒子也是一對(duì)鄰居),則鄰居粒子對(duì)(i,j)中,i粒子為主粒子,j粒子為鄰粒子,可以計(jì)算獲得i粒子受到的j粒子對(duì)i粒子的力;鄰居粒子對(duì)(j,i)中,j粒子為主粒子,i粒子為鄰粒子,可以計(jì)算獲得j粒子受到的i粒子對(duì)j粒子的力;且,鄰居粒子對(duì)(i,j)和鄰居粒子對(duì)(j,i)被稱為重復(fù)的鄰居粒子對(duì)?!?br> 圖I示出了根據(jù)現(xiàn)有技術(shù)建立的一組鄰居列表示意圖。參考圖1,該鄰居列表包括三欄內(nèi)容,分別是鄰居列表名稱、鄰居粒子對(duì)類型和粒子間(主粒子和鄰粒子之間)作用力類型。在現(xiàn)有技術(shù)的鄰居列表中,不會(huì)出現(xiàn)重復(fù)的鄰居粒子對(duì),S卩,鄰居粒子對(duì)(i,j)或鄰居粒子對(duì)(j,i)只出現(xiàn)一次,例如,鄰居列表中只出現(xiàn)鄰居粒子對(duì)(i,j)。因此,可以計(jì)算得到鄰居粒子對(duì)(i,j)中i粒子受到的j粒子對(duì)i粒子的力,進(jìn)而,鄰居粒子對(duì)(j,i)中j粒子受到的i粒子對(duì)j粒子的力,需要利用牛頓第三定律,通過鄰居粒子對(duì)(i,j)中i粒子受到的j粒子對(duì)i粒子的力獲得。因此,基于現(xiàn)有技術(shù)的鄰居粒子對(duì)搜索方法,需要利用牛頓第三定律并行進(jìn)行非成鍵力計(jì)算。然而,非成鍵力計(jì)算模塊由于牛頓第三定律的應(yīng)用直接并行會(huì)導(dǎo)致并行效率低且存在數(shù)據(jù)寫沖突的問題。具體包括I、按照上述建立的鄰居列表,假如k粒子同時(shí)是i粒子和j粒子的鄰粒子,而i粒子和j粒子的受力計(jì)算是分布在不同的從核上進(jìn)行的,則,當(dāng)該不同的從核采用牛頓第三定律同時(shí)更新k粒子的受力時(shí),會(huì)造成k粒子受力數(shù)據(jù)的寫沖突。2、若為了解決上述寫沖突的問題,通過修改鄰居列表不采用牛頓第三定律,則鄰居列表中出現(xiàn)重復(fù)的鄰居粒子對(duì),即(i,j)和(j,i)。由于并行程序采用計(jì)算區(qū)域分解的方式,將導(dǎo)致計(jì)算區(qū)域邊界的粒子受力丟失的問題。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)的說明。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來實(shí)施,因此本發(fā)明不受下面公開的具體實(shí)施例的限制。第一實(shí)施例參考圖3,為解決上述從核間的數(shù)據(jù)寫沖突問題,本發(fā)明實(shí)施例提供一種鄰居粒子對(duì)搜索方法,適用于配置成執(zhí)行分子動(dòng)力學(xué)計(jì)算的眾核處理系統(tǒng)。作為本發(fā)明的一個(gè)實(shí)施例,該鄰居粒子對(duì)搜索方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;從而在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。作為本發(fā)明的一個(gè)實(shí)施例,所述以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì),指的是以各計(jì)算區(qū)域內(nèi)的全部粒子為主粒子的搜索范圍;對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子,指的是,除主粒子外,以該主粒子所處計(jì)算區(qū)域內(nèi)的其余全部粒子作為該主粒子的鄰粒子搜索范圍,相比較現(xiàn)有技術(shù),擴(kuò)大了搜索范圍,建立的鄰居粒子對(duì)信息中包括重復(fù)的鄰居粒子對(duì)。舉例而言,若在一包含η個(gè)粒子的計(jì)算區(qū)域內(nèi),i粒子和j粒子是一對(duì)鄰居,則根據(jù)本發(fā)明的上述鄰居粒子對(duì)搜索方法,當(dāng)以i粒子為主粒子進(jìn)行搜索時(shí),則以該計(jì)算區(qū)域內(nèi)除i粒子以外的其余η-I個(gè)粒子為搜索范圍查找i粒子的鄰粒子,可以獲得鄰居粒子對(duì)(i,j);當(dāng)以j粒子為主粒子進(jìn)行搜索時(shí),則以該計(jì)算區(qū)域內(nèi)除j粒子以外的其余η-I個(gè)粒子為搜索范圍查找i粒子的鄰粒子,可以獲得鄰居粒子對(duì)(j,i),從而建立的鄰居粒子對(duì)信
息包括重復(fù)的鄰居粒子對(duì),即包括鄰居粒子對(duì)(i,j)和鄰居粒子對(duì)(j,i)。參考圖4,圖4是本發(fā)明第一實(shí)施例提供的另一種鄰居粒子對(duì)搜索方法的流程示意圖。進(jìn)一步地,在各計(jì)算區(qū)域內(nèi)建立了鄰居粒子對(duì)信息后,所述鄰居粒子對(duì)搜索方法還包括在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式;以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。關(guān)于建立鄰居列表的詳細(xì)介紹,本文將在第二實(shí)施例中進(jìn)行詳細(xì)描述。相比較現(xiàn)有技術(shù)的鄰居粒子對(duì)搜索方法,由于只搜索到鄰居粒子對(duì)(i,j),只能計(jì)算得出該鄰居粒子對(duì)(i,j)中i粒子的受力情況,因此鄰居粒子對(duì)(j,i)中j的受力情況需要采用牛頓第三定律獲得,這樣易導(dǎo)致從核間的數(shù)據(jù)寫沖突。本發(fā)明實(shí)施例中,利用上述方法建立的鄰居粒子對(duì)信息,該鄰居粒子對(duì)信息中包括重復(fù)的鄰居粒子對(duì),即搜索到鄰居粒子對(duì)(i,j)和鄰居粒子對(duì)(j,i),因此所述計(jì)算方式可以不采用牛頓第三定律,就可以獲得主粒子和鄰粒子之間的相互作用力,這樣避免了由于采用牛頓第三定律導(dǎo)致的從核之間的并行寫沖突問題。對(duì)于單進(jìn)程程序,上述鄰居粒子對(duì)搜索方法可以建立各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,然而,對(duì)于多進(jìn)程程序,若仍然采用上述鄰居粒子對(duì)搜索方法則可能會(huì)丟失處于計(jì)算區(qū)域邊界粒子的受力。具體而言,單進(jìn)程程序中,各粒子都處于計(jì)算區(qū)域內(nèi),因此采用上述方法可以建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息;對(duì)于多進(jìn)程程序,由于采用區(qū)域分解的方式形成多個(gè)計(jì)算區(qū)域,除了處于計(jì)算區(qū)域內(nèi)的粒子,還包括處于計(jì)算區(qū)域邊界的粒子,因此,采用上述鄰居粒子對(duì)搜索方法只能搜索處于計(jì)算區(qū)域內(nèi)粒子的鄰居,無法搜索到處于計(jì)算區(qū)域邊界粒子的鄰居,從而可能會(huì)丟失處于計(jì)算區(qū)域邊界粒子的受力。例如,假如i粒子和j粒子是一對(duì)鄰居,i粒子是處于計(jì)算區(qū)域內(nèi)的粒子,j粒子是處于計(jì)算區(qū)域邊界上的粒子,則采用本發(fā)明上述方法只能搜索到i粒子的鄰粒子j,即找到(i,j)這一鄰居粒子對(duì),而無法搜索到(j,i)這一鄰居粒子對(duì),則j粒子受到的i粒子對(duì)j粒子的力就會(huì)發(fā)生丟失現(xiàn)象?;谏鲜鰡栴},本發(fā)明實(shí)施例進(jìn)一步提供一種鄰居粒子對(duì)搜索方法,在完成了第一次搜索——即完成計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì)搜索之后,還包括,第二次搜索,針對(duì)處于計(jì)算區(qū)域邊界的粒子進(jìn)行搜索。本領(lǐng)域人員應(yīng)該了解的是,上述第一次、第二次搜索是用以區(qū)分不同的鄰居粒子搜索區(qū)域,而不應(yīng)成為鄰居搜索的先后順序的限制。參考圖5,圖5是本發(fā)明第一實(shí)施例提供的又一種鄰居粒子對(duì)搜索方法的流程示意圖。作為本發(fā)明的一個(gè)實(shí)施例,該鄰居粒子對(duì)搜索方法進(jìn)一步包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子。作為本發(fā)明的一個(gè)實(shí)施例,以各計(jì)算區(qū)域內(nèi)的全部粒子為主粒子的搜索范圍,以計(jì)算區(qū)域邊界的粒子為鄰粒子的搜索范圍。作為本發(fā)明的一個(gè)實(shí)施例,當(dāng)搜索包括計(jì)算區(qū)域邊界的粒子時(shí),處于計(jì)算區(qū)域邊界的粒子都是以鄰粒子的形式出現(xiàn)。舉例而言,在多進(jìn)程程序的鄰居粒子對(duì)搜索方法中,若i粒子和j粒子是一對(duì)鄰居,其中i粒子處于計(jì)算區(qū)域內(nèi),j粒子處于該計(jì)算區(qū)域的邊界,則根據(jù)本發(fā)明的上述鄰居 粒子對(duì)搜索方法,以i粒子為主粒子進(jìn)行搜索,則以該計(jì)算區(qū)域邊界的粒子為搜索范圍查找i粒子的鄰粒子,可以獲得鄰居粒子對(duì)(i,j)。進(jìn)一步地,在完成第二次搜索,建立了鄰居粒子對(duì)信息后,所述鄰居粒子對(duì)搜索方法還包括在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式;以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。由于第二次搜索的鄰居粒子對(duì)信息中,處于計(jì)算區(qū)域邊界的粒子只以鄰粒子的形式出現(xiàn),因此,本發(fā)明實(shí)施例中,利用第二次搜索方法建立的鄰居粒子對(duì)信息,需要采用牛頓第三定律來獲得處于計(jì)算區(qū)域邊界的粒子的受力情況。舉例而言,通過第二次搜索找到鄰居粒子對(duì)(i,j),其中i粒子處于計(jì)算區(qū)域內(nèi),j粒子處于該計(jì)算區(qū)域的邊界;而j粒子作為處于計(jì)算區(qū)域的邊界的粒子,不會(huì)以主粒子的形式出現(xiàn),也就是說通過第二次搜索,無法獲得鄰居粒子對(duì)(j,i )。因此,可以通過非成鍵力計(jì)算獲得該鄰居粒子對(duì)(i,j)中i粒子的受力情況,而鄰居粒子對(duì)(j,i)中j粒子的受力情況,可以通過采用牛頓第三定律獲得。綜上,本發(fā)明以主粒子所處計(jì)算區(qū)域內(nèi)的其余全部粒子作為鄰粒子搜索范圍,來確定該主粒子的鄰粒子,相比較現(xiàn)有技術(shù),擴(kuò)大了鄰粒子的搜索范圍,從而可以在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,生成重復(fù)的鄰居粒子對(duì),從而可以不必應(yīng)用牛頓第三定律,消除從核間的寫沖突。其次,本發(fā)明進(jìn)一步以主粒子所處計(jì)算區(qū)域邊界的粒子作為鄰粒子搜索范圍,改進(jìn)了現(xiàn)有技術(shù)不對(duì)鄰粒子所處區(qū)域(區(qū)域內(nèi)部或區(qū)域邊界)進(jìn)行區(qū)分的鄰居搜索方法,從而有利于根據(jù)鄰粒子所處的區(qū)域采用不同的計(jì)算方式。第二實(shí)施例本發(fā)明實(shí)施例進(jìn)一步提供一種應(yīng)用上述鄰居粒子對(duì)搜索方法的分子動(dòng)力學(xué)計(jì)算方法。參考圖6,圖6是本發(fā)明的第二實(shí)施例提供的一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖。作為本發(fā)明的一個(gè)實(shí)施例,該分子動(dòng)力學(xué)計(jì)算方法,適用于眾核處理系統(tǒng);該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;
基于各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力。本發(fā)明的分子動(dòng)力學(xué)計(jì)算方法,首先進(jìn)行鄰居粒子對(duì)搜索,獲得計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,然后,基于該獲得的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力。進(jìn)一步地,采用第一計(jì)算方式計(jì)算各主粒子的受力,所述第一計(jì)算方式不采用牛
頓第三定律。作為本發(fā)明的一個(gè)實(shí)施例,所述以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì),指的是以各計(jì)算區(qū)域內(nèi)的全部粒子為主粒子的搜索范圍;對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子,指的是,除主粒子外,以該主粒子所處計(jì)算區(qū)域內(nèi)的其余全部粒子作為該主粒子的鄰粒子搜索范圍,相比較現(xiàn)有技術(shù),擴(kuò)大了搜索范圍,建立的鄰居粒子對(duì)信息中包括重復(fù)的鄰居粒子對(duì)。 進(jìn)一步地,在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式,并且,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。參考圖2,圖2示出了根據(jù)本發(fā)明方法提供的一組鄰居列表示意圖。相比較圖1,圖2增加了第四欄內(nèi)容,以及增加了若干行標(biāo)志為SW的擴(kuò)展鄰居列表。參考圖2,該鄰居列表包括四欄內(nèi)容,分別是鄰居列表名稱、鄰居粒子對(duì)類型、粒子間(主粒子和鄰粒子之間)作用力類型,以及作用力計(jì)算方式,在本發(fā)明實(shí)施例中,所述作用力計(jì)算方式包括第一計(jì)算方式;第二計(jì)算方式,具體是根據(jù)鄰粒子的所處區(qū)域選擇“是否應(yīng)用牛頓第三定律”。作為本發(fā)明的一個(gè)實(shí)施例,圖中鄰居列表名稱一欄,名稱后有SW標(biāo)志的代表該鄰居中的鄰粒子處于計(jì)算區(qū)域邊界,而名稱后無SW標(biāo)志的代表該鄰居中的主粒子和鄰粒子都處于計(jì)算區(qū)域內(nèi);鄰居粒子對(duì)類型一欄,其中enlistATOM表示主粒子和鄰粒子均為非水粒子,enliStffATER表示主粒子為水分子,鄰粒子為非水粒子,enlistffATERffATER表示主粒子、鄰粒子均為水分子;粒子間作用力類型一欄,vdw表示范德華力,coul表示庫侖力?;谏鲜龇椒ㄋ阉鞯降泥従恿W訉?duì),全部是處于計(jì)算區(qū)域范圍內(nèi)的,因此基于該鄰居粒子對(duì)信息建立的鄰居列表,就如圖2所示前十行的鄰居列表(即不具有SW標(biāo)志)。該鄰居粒子對(duì)信息中包括重復(fù)的鄰居粒子對(duì),即搜索到鄰居粒子對(duì)(i,j)和鄰居粒子對(duì)(j,i ),因此所述計(jì)算方式可以不采用牛頓第三定律,就可以獲得鄰居粒子對(duì)(i,j )中i粒子的受力,以及鄰居粒子對(duì)(j,i)中j粒子的受力。因此,相應(yīng)于前十行的鄰居列表,在圖2第四欄“是否應(yīng)用牛頓第三定律”,記錄的是“否”信息,即針對(duì)從計(jì)算區(qū)域內(nèi)搜索的鄰居粒子對(duì),不采用牛頓第三定律計(jì)算非成鍵力,這樣避免了由于采用牛頓第三定律導(dǎo)致的并行寫沖突問題。如前述第一實(shí)施例中所述,如果只搜索處于計(jì)算區(qū)域內(nèi)粒子的鄰居,對(duì)于多進(jìn)程程序而言,則無法搜索到處于計(jì)算區(qū)域邊界粒子的鄰居,導(dǎo)致邊界粒子的受力情況丟失的現(xiàn)象?;谏鲜鰡栴},本發(fā)明鄰居搜索過程分成兩次進(jìn)行,不僅包括第一次搜索一即在計(jì)算區(qū)域內(nèi)進(jìn)行鄰居粒子對(duì)搜索,還包括第二次搜索。本領(lǐng)域人員應(yīng)該了解的是,上述第一次、第二次搜索是用以區(qū)分不同的鄰居粒子搜索區(qū)域,而不應(yīng)成為鄰居搜索的先后順序的限制。
參考圖7,圖7是本發(fā)明的第二實(shí)施例提供的另一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖。作為本發(fā)明的一個(gè)實(shí)施例,該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子。進(jìn)一步地,基于所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力;對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的各主粒子,采用第二計(jì)算方式計(jì)算該各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律。作為本發(fā)明的一個(gè)實(shí)施例,以各計(jì)算區(qū)域內(nèi)的全部粒子為主粒子的搜索范圍,以計(jì)算區(qū)域邊界的粒子為鄰粒子的搜索范圍。作為本發(fā)明的一個(gè)實(shí)施例,當(dāng)搜索包括計(jì)算區(qū)域邊界的粒子時(shí),處于計(jì)算區(qū)域邊界的粒子都是以鄰粒子的形式出現(xiàn)?;谏鲜龇椒ㄋ阉鞯降泥従恿W訉?duì),其鄰粒子是處于計(jì)算區(qū)域邊界的粒子,因此 基于該鄰居粒子對(duì)信息建立的鄰居列表,就如圖2所示后十行的擴(kuò)展鄰居列表(即具有SW
O因此,相應(yīng)于后十行的擴(kuò)展鄰居列表,在圖2第四欄“是否應(yīng)用牛頓第三定律”,記錄的是“是”信息,即針對(duì)鄰粒子為計(jì)算區(qū)域邊界粒子的各主粒子,需要采用牛頓第三定律計(jì)算非成鍵力,這樣可以正確獲得計(jì)算區(qū)域邊界粒子的受力情況。需要說明的是,圖2中所提供的一組鄰居列表中的格式及內(nèi)容,是為了更清楚地說明本發(fā)明實(shí)施例的分子動(dòng)力學(xué)計(jì)算方法,本領(lǐng)域技術(shù)人員應(yīng)該了解的是,該鄰居列表不應(yīng)成為對(duì)本發(fā)明保護(hù)范圍的限制。參考圖8,圖8是本發(fā)明的第二實(shí)施例提供的另一種分子動(dòng)力學(xué)計(jì)算方法流程示意圖。作為本發(fā)明的一個(gè)實(shí)施例,該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子;基于各計(jì)算區(qū)域建立的所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力;對(duì)于鄰粒子處于計(jì)算區(qū)域內(nèi)的各主粒子,采用第一計(jì)算方式計(jì)算各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律;對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的各主粒子,采用第二計(jì)算方式計(jì)算該各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律??偠灾?,基于本發(fā)明鄰居粒子對(duì)處于不同區(qū)域的兩次搜索計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì)第一次搜索,以及計(jì)算區(qū)域邊界的鄰居粒子對(duì)第二次搜索,本發(fā)明所建立的鄰居列表也相應(yīng)地包括兩部分,即針對(duì)第一次搜索建立的鄰居列表計(jì)算時(shí)不應(yīng)用牛頓第三定律(前十行),以及針對(duì)第二次搜索建立的鄰居列表計(jì)算時(shí)應(yīng)用牛頓第三定律(后十行)。相比較現(xiàn)有技術(shù)不對(duì)鄰粒子所處區(qū)域(區(qū)域內(nèi)部或區(qū)域邊界)進(jìn)行區(qū)分的鄰居搜索方法,本發(fā)明根據(jù)鄰粒子所處區(qū)域不同(區(qū)域內(nèi)部或區(qū)域邊界),采用區(qū)分的鄰居搜索方法,從而有利于根據(jù)鄰粒子所處的區(qū)域采用不同的計(jì)算方式,這樣,解決了寫沖突問題,并且整個(gè)計(jì)算體系內(nèi)的大部分粒子的受力計(jì)算都不應(yīng)用牛頓第三定律,使得可充分發(fā)揮從核的并行計(jì)算能力。第三實(shí)施例
本發(fā)明實(shí)施例還提供一種眾核處理系統(tǒng),適用于執(zhí)行上述實(shí)施例所述的鄰居粒子對(duì)搜索方法及分子動(dòng)力學(xué)計(jì)算。參考圖9,圖9是本發(fā)明實(shí)施例提供的一種眾核處理系統(tǒng)的方框示意圖。作為本發(fā)明的一個(gè)實(shí)施例,該眾核處理系統(tǒng)10包括主處理器核(主核)和多個(gè)從處理器核(從核),該眾核處理系統(tǒng)包括鄰居粒子對(duì)搜索模塊101及計(jì)算模塊104 ;其中,所述鄰居粒子對(duì)搜索模塊101適用于分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;所述計(jì)算模塊104基于鄰居粒子對(duì)搜索模塊在各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力。其中,所述計(jì)算模塊104計(jì)算各主粒子的受力指的是計(jì)算鄰居粒子對(duì)中各主粒子的非成鍵力。 所述眾核處理系統(tǒng)的主核和從核通常具有各自獨(dú)立的存儲(chǔ)空間,每個(gè)從核都具有一個(gè)相對(duì)容量較小、存取速度較快的局部存儲(chǔ)器(未圖示)。本發(fā)明實(shí)施例中,鄰居粒子對(duì)搜索模塊101利用上述方法建立的鄰居粒子對(duì)信息,該鄰居粒子對(duì)信息中包括重復(fù)的鄰居粒子對(duì),即搜索到鄰居粒子對(duì)(i,j)和鄰居粒子對(duì)(j,i),因此所述計(jì)算方式可以不采用牛頓第三定律,就可以獲得主粒子和鄰粒子之間的相互作用力,這樣避免了由于采用牛頓第三定律導(dǎo)致的并行寫沖突問題。對(duì)于單進(jìn)程程序,鄰居粒子對(duì)搜索模塊101利用上述鄰居粒子對(duì)搜索方法可以建立各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,然而,對(duì)于多進(jìn)程程序,若仍然采用上述鄰居粒子對(duì)搜索方法則可能會(huì)丟失處于計(jì)算區(qū)域邊界粒子的受力。因此,本發(fā)明鄰居粒子對(duì)搜索模塊101將鄰居搜索過程分成兩次進(jìn)行,不僅包括第一次搜索——即在計(jì)算區(qū)域內(nèi)進(jìn)行鄰居粒子對(duì)搜索,還包括第二次搜索。本領(lǐng)域人員應(yīng)該了解的是,上述第一次、第二次搜索是用以區(qū)分不同的鄰居粒子搜索區(qū)域,而不應(yīng)成為鄰居搜索的先后順序的限制。根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)于各主粒子,所述鄰居粒子對(duì)搜索模塊101進(jìn)一步適用于在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子;所述鄰居粒子對(duì)搜索模塊進(jìn)一步適用于在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。由于第二次搜索的鄰居粒子對(duì)信息中,處于計(jì)算區(qū)域邊界的粒子只以鄰粒子的形式出現(xiàn),因此,本發(fā)明實(shí)施例中,利用第二次搜索建立的鄰居粒子對(duì)信息,需要采用牛頓第三定律來獲得處于計(jì)算區(qū)域邊界的粒子的受力情況。所述眾核處理系統(tǒng)10還包括鄰居列表建立模塊102,適用于以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息??偠灾従恿W訉?duì)搜索模塊101基于鄰居粒子處于不同區(qū)域進(jìn)行兩次搜索,分別包括計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì)第一次搜索,以及計(jì)算區(qū)域邊界的鄰居粒子對(duì)第二次搜索。本發(fā)明所建立的鄰居列表也相應(yīng)地包括兩部分,即針對(duì)第一次搜索建立的鄰居列表計(jì)算時(shí)不應(yīng)用牛頓第三定律(前十行),以及針對(duì)第二次搜索建立的鄰居列表計(jì)算時(shí)應(yīng)用牛頓第三定律(后十行),具體請(qǐng)參考圖2。作為本發(fā)明的一個(gè)實(shí)施例,當(dāng)鄰居粒子對(duì)搜索模塊101搜索到的鄰居粒子對(duì)達(dá)到一定數(shù)量時(shí)(該數(shù)量可由用戶自行定義),統(tǒng)一由put_in_list函數(shù)放入鄰居列表中。然而,在眾核處理系統(tǒng)中,由于電荷組的循環(huán)拆分到多個(gè)從核并行處理,多個(gè)從核如果同時(shí)調(diào)用put_in_list函數(shù)可能造成鄰居列表數(shù)據(jù)的寫沖突。因此,在本發(fā)明實(shí)施例中,所述鄰居粒子對(duì)搜索模塊101在建立各粒子的鄰居粒子對(duì)之后,先將鄰居搜索結(jié)果記錄下來,統(tǒng)一由主核寫鄰居列表的方式,也就是說,所述鄰居列表建立模塊102是由主核進(jìn)行控制的。這樣做有兩個(gè)好處首先避免由各個(gè)從核同時(shí)調(diào)用put_in_list函數(shù)導(dǎo)致的寫沖突問題;其次,由主核控制寫操作的順序,可以保持鄰居列表信息與原程序一致,利于并行程序的正確性驗(yàn)證。此外,根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述眾核處理系統(tǒng)10還包括鄰居列表分析模塊103,對(duì)于處于計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì),采用第一計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律;對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的鄰居粒子對(duì),采用第二計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第二計(jì)算方式采用 牛頓第三定律。由于鄰居列表中還包括處于計(jì)算區(qū)域邊界的粒子,為了保持鄰居搜索在程序?qū)崿F(xiàn)上的統(tǒng)一'I"生,本發(fā)明實(shí)施例進(jìn)一步在put_in_list函數(shù)中增加一個(gè)bool參數(shù),該參數(shù)用以標(biāo)志鄰粒子是否為邊界粒子的情況。所述眾核處理系統(tǒng)還可以包括更新模塊105,適用于在計(jì)算模塊104計(jì)算各主粒子的受力之后,更新各主粒子的受力。由于第一計(jì)算方式不采用牛頓第三定律,因此在該鄰居粒子對(duì)中只需要計(jì)算并更新主粒子的受力,而不會(huì)出現(xiàn)各從核間由于利用牛頓第三定律同時(shí)更新某個(gè)粒子的受力導(dǎo)致的寫沖突問題。這種情況下,該更新模塊105由從核進(jìn)行控制的。對(duì)于采用牛頓第三定律的擴(kuò)展鄰居列表,只需要在從核的局部存儲(chǔ)器中,更新該從核上鄰粒子的受力,并由主核統(tǒng)一累加更新,這樣也可以避免從核間的數(shù)據(jù)寫沖突問題。這種情況下,該更新模塊105由主核進(jìn)行控制的。舉例而言,假使某個(gè)處于計(jì)算區(qū)域邊界的k粒子分別是兩個(gè)粒子,例如i粒子和j粒子的鄰粒子,該i粒子和j粒子在不同的從核上處理,那么在利用牛頓第三定律同時(shí)更新k粒子的受力時(shí),也是更新不同從核上k粒子的受力,之后再由主核累加更新。關(guān)于鄰居粒子對(duì)搜索模塊101及計(jì)算模塊104的詳細(xì)介紹,可以進(jìn)一步參考第一實(shí)施例的鄰居粒子對(duì)搜索方法,以及第二實(shí)施例的分子動(dòng)力學(xué)計(jì)算方法,在此不予贅述。為進(jìn)一步說明本發(fā)明實(shí)施例的有益效果,本發(fā)明發(fā)明人提供以下實(shí)驗(yàn)測試數(shù)據(jù)及分析并行測試環(huán)境為有64個(gè)從核的眾核處理器,串行測試環(huán)境為Intel E5430,由于測試環(huán)境與Intel E5430頻率不同,測試數(shù)據(jù)選取時(shí)鐘周期數(shù)即拍數(shù)作為比較的單位,結(jié)果如下頁表I所示。表I:測試數(shù)據(jù)
權(quán)利要求
1.一種鄰居粒子對(duì)搜索方法,適用于配置成執(zhí)行分子動(dòng)力學(xué)計(jì)算的眾核處理系統(tǒng);其特征在于,該方法包括 分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子; 從而在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。
2.如權(quán)利要求I所述的鄰居粒子對(duì)搜索方法,其特征在于,還包括在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。
3.如權(quán)利要求I所述的鄰居粒子對(duì)搜索方法,其特征在于,還包括,對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子。
4.如權(quán)利要求3所述的鄰居粒子對(duì)搜索方法,其特征在于,還包括,在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。
5.如權(quán)利要求4所述的鄰居粒子對(duì)搜索方法,其特征在于,還包括,第一計(jì)算方式;第二計(jì)算方式。
6.如權(quán)利要求I至5任一項(xiàng)所述的鄰居粒子對(duì)搜索方法,其特征在于,還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。
7.一種分子動(dòng)力學(xué)計(jì)算方法,適用于眾核處理系統(tǒng);其特征在于,該方法包括 分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子; 基于各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力。
8.如權(quán)利要求7所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,所述建立鄰居粒子對(duì)信息還包括記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。
9.如權(quán)利要求8所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。
10.如權(quán)利要求7所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,采用第一計(jì)算方式計(jì)算各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律。
11.如權(quán)利要求7所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,所述分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì)還包括 對(duì)于各主粒子,進(jìn)一步在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子。
12.如權(quán)利要求11所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,還包括,以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。
13.如權(quán)利要求11所述的分子動(dòng)力學(xué)計(jì)算方法,其特征在于,對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的各主粒子,采用第二計(jì)算方式計(jì)算該各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律。
14.一種眾核處理系統(tǒng),適用于分子動(dòng)力學(xué)計(jì)算,包括主處理器核和多個(gè)從處理器核,其特征在于 該眾核處理系統(tǒng)包括鄰居粒子對(duì)搜索模塊及計(jì)算模塊;其中,所述鄰居粒子對(duì)搜索模塊適用于分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;所述計(jì)算模塊基于鄰居粒子對(duì)搜索模塊在各計(jì)算區(qū)域內(nèi)建立的該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息,計(jì)算各主粒子的受力。
15.如權(quán)利要求14所述的眾核處理系統(tǒng),其特征在于對(duì)于各主粒子,所述鄰居粒子對(duì)搜索模塊進(jìn)一步適用于在其所處計(jì)算區(qū)域邊界的粒子中確定該主粒子的鄰粒子。
16.如權(quán)利要求15所述的眾核處理系統(tǒng),其特征在于所述鄰居粒子對(duì)搜索模塊進(jìn)一步適用于在所述鄰居粒子對(duì)信息中記錄主粒子和鄰粒子之間相互作用力的計(jì)算方式。
17.如權(quán)利要求14至16任一項(xiàng)所述的眾核處理系統(tǒng),其特征在于還包括鄰居列表建立模塊,適用于以列表形式記錄所述各計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。
18.如權(quán)利要求17所述的眾核處理系統(tǒng),其特征在于還包括鄰居列表分析模塊,對(duì)于處于計(jì)算區(qū)域內(nèi)的鄰居粒子對(duì),采用第一計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第一計(jì)算方式不采用牛頓第三定律。
19.如權(quán)利要求17所述的眾核處理系統(tǒng),其特征在于還包括鄰居列表分析模塊,對(duì)于鄰粒子為計(jì)算區(qū)域邊界粒子的鄰居粒子對(duì),采用第二計(jì)算方式計(jì)算該鄰居粒子對(duì)的各主粒子的受力,所述第二計(jì)算方式采用牛頓第三定律。
全文摘要
本發(fā)明提供一種鄰居粒子對(duì)搜索方法,適用于配置成執(zhí)行分子動(dòng)力學(xué)計(jì)算的眾核處理系統(tǒng);該方法包括分別以各粒子作為主粒子來建立各粒子的鄰居粒子對(duì);其中,對(duì)于各主粒子,均在其所處計(jì)算區(qū)域內(nèi)的其余粒子中確定該主粒子的鄰粒子;從而在各計(jì)算區(qū)域內(nèi)建立該計(jì)算區(qū)域內(nèi)所有粒子的鄰居粒子對(duì)信息。本發(fā)明還提供一種采用該鄰居粒子對(duì)搜索方法的分子動(dòng)力學(xué)計(jì)算方法及其眾核處理系統(tǒng),本發(fā)明針對(duì)鄰粒子所處不同區(qū)域進(jìn)行區(qū)分的鄰居搜索方法,從而有利于根據(jù)鄰粒子所處的區(qū)域采用不同的計(jì)算方式,充分發(fā)揮眾核處理系統(tǒng)的從核處理能力。
文檔編號(hào)G06F17/50GK102945298SQ201210409979
公開日2013年2月27日 申請(qǐng)日期2012年10月24日 優(yōu)先權(quán)日2012年10月24日
發(fā)明者張軍, 劉桂英, 倪穎杰, 李祖華, 馬飛, 李弢 申請(qǐng)人:無錫江南計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1