一種Gromacs軟件的性能測(cè)試方法
【專利摘要】本發(fā)明提出一種Gromacs軟件的性能測(cè)試方法,使用配置的不同編譯器、數(shù)學(xué)庫以及編譯參數(shù)對(duì)Gromacs軟件進(jìn)行編譯,對(duì)編譯后的Gromacs軟件執(zhí)行模擬測(cè)試并收集編譯性能數(shù)據(jù),執(zhí)行編譯性能對(duì)比,選擇編譯性能最優(yōu)的編譯器、數(shù)學(xué)庫和編譯參數(shù)設(shè)置,再調(diào)整nPME參數(shù),進(jìn)行Gromacs軟件的后續(xù)優(yōu)化。所述方法能夠提高Gromacs軟件運(yùn)行效率。
【專利說明】—種Gromacs軟件的性能測(cè)試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體涉及一種Gromacs軟件的性能測(cè)試方法。
【背景技術(shù)】
[0002]GR0MACS軟件是主要用來進(jìn)行分子動(dòng)力學(xué)模擬的一個(gè)通用開源程序包,可以模擬數(shù)百個(gè)到數(shù)百萬個(gè)規(guī)模粒子系統(tǒng)運(yùn)動(dòng)的牛頓方程組。它主要用來模擬蛋白質(zhì)和脂質(zhì)這樣的生物分子,也可以用來研究諸如聚合物等非生物分子體系。GR0MACS軟件支持目前常見的幾乎所有分子動(dòng)力學(xué)算法,包括各種熱浴、壓浴以及靜電相互作用計(jì)算等等。GR0MACS軟件應(yīng)用非常廣泛,但是隨著計(jì)算機(jī)規(guī)模的不斷增大,計(jì)算平臺(tái)不斷更新以及模擬體系不斷增大,大家對(duì)計(jì)算效率的愈加重視,但是目前還沒有人對(duì)gromacs的優(yōu)化提出系統(tǒng)全面的方案。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提出一種Gromacs軟件的性能測(cè)試方法,以提高軟件運(yùn)行效率,所述方法包括:
[0004]步驟1:配置硬件平臺(tái)、編譯器、數(shù)學(xué)庫和編譯參數(shù);
[0005]步驟2:使用配置的不同編譯器、數(shù)學(xué)庫以及編譯參數(shù)對(duì)Gromacs軟件進(jìn)行編譯,對(duì)編譯后的Gromacs軟件執(zhí)行模擬測(cè)試并收集編譯性能數(shù)據(jù);
[0006]步驟3:執(zhí)行編譯性能對(duì)比,選擇編譯性能最優(yōu)的編譯器、數(shù)學(xué)庫和編譯參數(shù)設(shè)置;
[0007]步驟4:調(diào)整nPME參數(shù),進(jìn)行Gromacs軟件的后續(xù)優(yōu)化。
[0008]本發(fā)明的有益效果是提高Gromacs軟件運(yùn)行效率。
【專利附圖】
【附圖說明】
[0009]圖1是本發(fā)明提出的一種Gromacs軟件的性能測(cè)試方法的流程圖。
[0010]圖2是本發(fā)明提出的方法對(duì)nPME參數(shù)優(yōu)化原理圖。
【具體實(shí)施方式】
[0011]參照?qǐng)D1,圖1示出了本發(fā)明提出的方法的流程圖,所述方法包括如下步驟:
[0012]步驟1:配置硬件平臺(tái)、編譯器、數(shù)學(xué)庫和編譯參數(shù)。
[0013]步驟2:使用不同編譯器和編譯參數(shù)配置對(duì)Gromacs軟件進(jìn)行編譯。本步驟中可以使用不同編譯器和編譯參數(shù)對(duì)Gromacs軟件進(jìn)行編譯,例如首先使用GNU編譯器,fft數(shù)學(xué)庫對(duì)Gromacs軟件進(jìn)行編譯,編譯參數(shù)使用默認(rèn)值;編譯完成,進(jìn)行分子動(dòng)力學(xué)模擬;收集編譯性能數(shù)據(jù);然后再使用INTEL編譯器,MKL數(shù)學(xué)庫進(jìn)行Gromacs軟件的編譯,編譯參數(shù)如下:
[0014]-DCMAKE_C_COMPILER=mpi icc
[0015]-DCMAKE_CXX_COMPILER=mpi icpc[0016]-DGMX_MPI=0N
[0017]-DGMX_GPU=0FF
[0018]-DGMX_D0UBLE=0N
[0019]-DBUILD_SHARED_LIBS=OFF
[0020]-DGMX_PREFER_STATIC_LIBS=ON
[0021]-DCMAKE_C_FLAGS="_ip xAVX-funroll-all-loops-static-03"
[0022]-DCMAKE_EXE_LINKER_FLAGS=//-L/opt/intel/composer_xe_2013.1.117/mkl/lib/intel64/-lmkl_intel_lp64-lmkl_intel_thread_lmkl_core ;
[0023]編譯完成后,進(jìn)行分子動(dòng)力學(xué)模擬;收集編譯性能數(shù)據(jù)。
[0024]步驟3:執(zhí)行編譯性能對(duì)比,選擇編譯性能最優(yōu)的編譯器、數(shù)學(xué)庫和編譯參數(shù)設(shè)置。例如通過對(duì)比GNU/INTEL編譯器的編譯性能差異,GNU編譯出的GROMACS性能較intel編譯器低10%左右,則使用INTEL編譯器、MKL數(shù)學(xué)庫和相應(yīng)編譯參數(shù)進(jìn)行后續(xù)運(yùn)行參數(shù)優(yōu)化測(cè)試。
[0025]步驟4:調(diào)整nPME參數(shù),進(jìn)行Gromacs軟件的后續(xù)優(yōu)化。在GROMACS中通常使用PME (Particle-mesh Ewald), P3M (Particle-Particle-Particle Mesh), Worf 等方法處理全局相互作用,采用Ewald加和方法來處理的長程相互作用時(shí),gromacs軟件可以通過nPME參數(shù)來指定專門用于進(jìn)行PME計(jì)算節(jié)點(diǎn)的數(shù)目,其余節(jié)點(diǎn)進(jìn)行PP (particle-particle)處理,這樣就會(huì)將參與計(jì)算的計(jì)算節(jié)點(diǎn)劃分為兩部分,因此nPME參數(shù)的設(shè)置對(duì)運(yùn)行效率影響較大。Gromacs軟件在運(yùn)行時(shí)會(huì)默認(rèn)分配ηΡΜΕ,我們?cè)跍y(cè)試時(shí)參照默認(rèn)值在其左右浮動(dòng),經(jīng)過大量測(cè)試總結(jié)nPME的選擇規(guī)律,圖2示出了這一過程。
[0026]當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種Gromacs軟件的性能測(cè)試方法,其特征在于,所述方法包括: 步驟1:配置硬件平臺(tái)、編譯器、數(shù)學(xué)庫和編譯參數(shù); 步驟2:使用配置的不同編譯器、數(shù)學(xué)庫以及編譯參數(shù)對(duì)Gromacs軟件進(jìn)行編譯,對(duì)編譯后的Gromacs軟件執(zhí)行模擬測(cè)試并收集編譯性能數(shù)據(jù); 步驟3:執(zhí)行編譯性能對(duì)比,選擇編譯性能最優(yōu)的編譯器、數(shù)學(xué)庫和編譯參數(shù)設(shè)置; 步驟4:調(diào)整nPME參數(shù),進(jìn)行Gromacs軟件的后續(xù)優(yōu)化。
2.如權(quán)利要求1所述的方法,其特征在于: 所述編譯器包括GUN和INTEL編譯器,所述數(shù)學(xué)庫包括FFT和MKL。
3.如權(quán)利要求1所述的方法,其特征在于: 所述步驟4具體為:選擇不同nPME參數(shù),經(jīng)過大量測(cè)試總結(jié)nPME的選擇規(guī)律,完成Gromacs軟件的后續(xù)優(yōu)化。
【文檔編號(hào)】G06F11/36GK103714006SQ201410006794
【公開日】2014年4月9日 申請(qǐng)日期:2014年1月7日 優(yōu)先權(quán)日:2014年1月7日
【發(fā)明者】金蓮 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司