技術(shù)領(lǐng)域
本發(fā)明基本上涉及材料研究,更具體地來說,涉及一種在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法。
背景技術(shù):
分子動力學(xué)是一種計算機(jī)模擬實驗方法,通過模擬分子體系的運動,不僅可以得到原子的運動軌跡,觀察原子運動過程中各種微觀細(xì)節(jié),還可以由體系的不同構(gòu)成狀態(tài)中抽取樣本進(jìn)一步計算熱力學(xué)性質(zhì)等其它宏觀性質(zhì),是對理論計算和實驗的有力補充,廣泛應(yīng)用與材料科學(xué)、生物物理和藥物設(shè)計等多種研究中。
分子動力學(xué)假定原子的運動服從某種運動規(guī)律,可以由牛頓方程、拉格朗日方程或者哈密頓方程所確定。分子動力學(xué)模擬的準(zhǔn)確度取決于原子在運動過程中受到環(huán)境以及自身體系其它原子的相互作用,這種相互可以用量子力學(xué)的理論描述,也可以采用經(jīng)驗性的方法計算,根據(jù)相互作用的近似程度不同,研究范圍從幾個原子到幾千幾萬個原子不等。
分子動力學(xué)模擬一般經(jīng)過三個過程:第一步,建立模型,一般來自實驗數(shù)據(jù)或者量子化學(xué)計算,確定起始構(gòu)型后為每個原子設(shè)定初始速度。第二步進(jìn)行動力學(xué)模擬,體系中的各個原子根據(jù)初始速度開始運動,由于原子之間的相互作用會產(chǎn)生吸引、排斥以及碰撞等,根據(jù)牛頓力學(xué)和各個原子的相互作用勢計算出各個粒子的運動軌跡。第三步對計算結(jié)果進(jìn)行處理。目前常用的免費分子動力學(xué)程序有ammp、asap、ase、dl_class、dl_monte、dl_poly、ego、espresso、gromacs、lammps、mdynamix、moldy、mpdyn、namd、openmd、tinker、towhee、xmd等。
通常分子動力學(xué)類應(yīng)用程序的安裝部署都是手動執(zhí)行,這種安裝方式存在一些不足:
第一,程序編譯、安裝過程較為復(fù)雜,需人為設(shè)置的參數(shù)較多,手動安裝操作繁瑣,費時費力,如果對編譯操作流程不熟悉,很容易出現(xiàn)錯誤。
第二,安裝過程中需要針對不同的硬件平臺和網(wǎng)絡(luò)環(huán)境進(jìn)行不同的參數(shù)配置,對操作系統(tǒng)、編譯器、數(shù)學(xué)庫、硬件系統(tǒng)和網(wǎng)絡(luò)環(huán)境的不熟悉都會造成程序執(zhí)行效率低下甚至是運行結(jié)果錯誤。
第三,程序安裝成功后需要配置相應(yīng)的環(huán)境變量,以方便用戶使用,手動配置容易出錯,應(yīng)用程序種類多時,容易造成環(huán)境變量設(shè)置混亂、沖突。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù)的缺陷,本發(fā)明提出了一種在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法,解決了如何提高安裝高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的效率的技術(shù)問題。
本發(fā)明提出了一種高性能計算集群分子動力學(xué)類應(yīng)用程序的一種自動安裝方法。該應(yīng)用程序?qū)崿F(xiàn)多種分子動力學(xué)類應(yīng)用程序的自動化無人值守安裝,包括ammp、asap、ase、dl_class、dl_monte、dl_poly、ego、espresso、gromacs、lammps、mdynamix、moldy、mpdyn、namd、openmd、tinker、towhee、xmd等。該程序在安裝配置分子動力學(xué)類應(yīng)用程序前先自動檢查依賴的其它程序環(huán)境;安裝完成后自動配置環(huán)境變量,并提供在集群系統(tǒng)中提交任務(wù)所需的腳本示例;整個安裝過程中,動態(tài)提示安裝進(jìn)度,如果出現(xiàn)錯誤給出相應(yīng)報錯提示。
根據(jù)本發(fā)明的一個方面,提供了一種在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法,其特征在于,包括:步驟S1:載入所述分子動力學(xué)類應(yīng)用程序的環(huán)境變量;步驟S2:根據(jù)當(dāng)前安裝平臺的系統(tǒng)類型和網(wǎng)絡(luò)配置選擇對應(yīng)的安裝方式和數(shù)學(xué)庫;步驟S3:利用所述環(huán)境變量和所述數(shù)學(xué)庫,通過所述安裝方式安裝所述分子動力學(xué)類應(yīng)用程序。
在所述方法中,在所述步驟S2之前,所述方法還包括:檢查所述分子動力學(xué)類應(yīng)用程序的源程序是否存在和安裝目標(biāo)文件夾是否能夠正常創(chuàng)建,如果是,則執(zhí)行步驟S2。
在所述方法中,在所述步驟S2之前,所述方法還包括:獲取當(dāng)前安裝平臺的所述系統(tǒng)類型和所述網(wǎng)絡(luò)配置。
在所述方法中,所述系統(tǒng)類型包括當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。
在所述方法中,獲取當(dāng)前安裝平臺的所述系統(tǒng)類型包括:通過查看當(dāng)前安裝平臺的系統(tǒng)文件獲取當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。
在所述方法中,所述網(wǎng)絡(luò)配置包括是否配置有Infiniband網(wǎng)卡。
在所述方法中,獲取當(dāng)前安裝平臺的所述系統(tǒng)類型和所述網(wǎng)絡(luò)配置包括:通過查看當(dāng)前安裝平臺的系統(tǒng)文件獲取當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型;檢查當(dāng)前安裝平臺中是否配置了Infiniband網(wǎng)卡;以及檢查所述Infiniband網(wǎng)卡是否安裝了驅(qū)動并且是否能夠正常運行。
在所述方法中,所述環(huán)境變量包括整體環(huán)境變量和具體環(huán)境變量,所述整體環(huán)境變量包括安裝過程子程序、所述分子動力學(xué)類應(yīng)用程序源程序位置和所述分子動力學(xué)類應(yīng)用程序的安裝目標(biāo)路徑,并且所述具體環(huán)境變量包括編譯器和MPI。
在所述方法中,所述方法還包括:將安裝過程中生成的輸出信息保存。
在所述方法中,所述方法還包括:為所述分子動力學(xué)類應(yīng)用程序生成在所述高性能集群系統(tǒng)提交作業(yè)的腳本示例,其中,所述腳本示例內(nèi)容包括所述分子動力學(xué)類應(yīng)用程序的資源申請方式和應(yīng)用程序運行方式。
通過本發(fā)明所提供在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法提高了安裝高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的效率。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的總體實施例的流程圖;
圖2是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的具體實施例的流程圖;
圖3是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的實例的流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的總體實施例的流程圖。在圖1中:
步驟S100:載入分子動力學(xué)類應(yīng)用程序的環(huán)境變量。其中,環(huán)境變量可以包括整體環(huán)境變量和具體環(huán)境變量,整體環(huán)境變量包括安裝過程子程序、分子動力學(xué)類應(yīng)用程序源程序位置和分子動力學(xué)類應(yīng)用程序的安裝目標(biāo)路徑,并且具體環(huán)境變量包括編譯器和MPI。
步驟S102:根據(jù)當(dāng)前安裝平臺的系統(tǒng)類型和網(wǎng)絡(luò)配置選擇對應(yīng)的安裝方式和數(shù)學(xué)庫。其中,系統(tǒng)類型可以包括當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。在一個優(yōu)選實施例中,可以通過查看當(dāng)前安裝平臺的系統(tǒng)文件獲取當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。其中,操作系統(tǒng)可以包括RedHat、Suse、CentOS等主流高性能集群操作系統(tǒng);處理器類型可以是Intel處理器或者AMD處理器等等。此外,網(wǎng)絡(luò)配置可以包括是否配置有Infiniband網(wǎng)卡,還可以進(jìn)一步檢測Infiniband網(wǎng)卡是否安裝有驅(qū)動程序以及該網(wǎng)卡是否正常運行。
步驟S104:利用環(huán)境變量和數(shù)學(xué)庫,通過上述對應(yīng)的安裝方式安裝分子動力學(xué)類應(yīng)用程序。
通過本實施例所公開的安裝分子動力學(xué)類應(yīng)用程序的方法簡化了分子動力學(xué)類應(yīng)用程序的安裝流程,降低了安裝難度;通過依賴關(guān)系判斷、容錯性判斷、標(biāo)準(zhǔn)化配置等方式提高了應(yīng)用程序的安裝成功率和安裝質(zhì)量,最大程度避免了人為操作失誤;通過無人值守的方式大大提高了分子動力學(xué)類應(yīng)用程序的安裝部署效率,節(jié)省了時間及人力。
圖2是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的具體實施例的流程圖。在圖2中:
步驟S200:載入分子動力學(xué)類應(yīng)用程序的環(huán)境變量。其中,環(huán)境變量可以包括整體環(huán)境變量和具體環(huán)境變量,整體環(huán)境變量包括安裝過程子程序、分子動力學(xué)類應(yīng)用程序源程序位置和分子動力學(xué)類應(yīng)用程序的安裝目標(biāo)路徑,并且具體環(huán)境變量包括編譯器和MPI。
步驟S202:檢查分子動力學(xué)類應(yīng)用程序的源程序是否存在和安裝目標(biāo)文件夾是否能夠正常創(chuàng)建,如果是,則執(zhí)行下述步驟,如果否,則退出安裝。
步驟S204:獲取當(dāng)前安裝平臺的系統(tǒng)類型和網(wǎng)絡(luò)配置。其中,系統(tǒng)類型可以包括當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。在一個優(yōu)選實施例中,可以通過查看當(dāng)前安裝平臺的系統(tǒng)文件獲取當(dāng)前安裝平臺的操作系統(tǒng)版本和處理器類型。其中,操作系統(tǒng)可以包括RedHat、Suse、CentOS等主流高性能集群操作系統(tǒng);處理器類型可以是Intel處理器或者AMD處理器等等。此外,網(wǎng)絡(luò)配置可以包括是否配置有Infiniband網(wǎng)卡,還可以進(jìn)一步檢測Infiniband網(wǎng)卡是否安裝有驅(qū)動程序以及該網(wǎng)卡是否正常運行。
步驟S206:根據(jù)當(dāng)前安裝平臺的系統(tǒng)類型和網(wǎng)絡(luò)配置選擇對應(yīng)的安裝方式和數(shù)學(xué)庫。由于分子動力學(xué)類應(yīng)用程序?qū)σ恍?shù)學(xué)庫比如Blas,Lapack,fftw等數(shù)學(xué)庫有依賴關(guān)系,不同的處理器平臺,不同的操作系統(tǒng)會對依賴程序的版本有所要求,需要根據(jù)系統(tǒng)的具體情況作出選擇使用何種數(shù)學(xué)庫,比如AMD的處理器,操作系統(tǒng)為Redhat6.0以前的版本,數(shù)學(xué)庫選用Gotoblas2,比如如果網(wǎng)絡(luò)配置了高速的Infiniband網(wǎng)絡(luò),就需要選擇支持Infiniband網(wǎng)絡(luò)的MPI庫,等等。
步驟S208:利用環(huán)境變量和數(shù)學(xué)庫,通過上述安裝方式安裝分子動力學(xué)類應(yīng)用程序。
步驟S210:為分子動力學(xué)類應(yīng)用程序生成在高性能集群系統(tǒng)提交作業(yè)的腳本示例,其中,腳本示例內(nèi)容包括分子動力學(xué)類應(yīng)用程序的資源申請方式和應(yīng)用程序運行方式。為應(yīng)用程序生成一個在集群系統(tǒng)提交作業(yè)的腳本示例,示例文件包括兩部分:如何申請計算資源、如何運行應(yīng)用程序。高性能集群系統(tǒng)一般配置作業(yè)調(diào)度系統(tǒng),準(zhǔn)備的腳本里面包括如何申請計算資源、如何執(zhí)行命令等,這部分內(nèi)容與應(yīng)用程序無關(guān),取決于調(diào)度系統(tǒng)的設(shè)置,本發(fā)明中選用的最常用的pbs調(diào)度系統(tǒng),需要設(shè)置的參數(shù)有“#PBS–lnodes=1:ppn=2”,“#PBS–qlow”等;執(zhí)行命令的方式會根據(jù)不同的應(yīng)用程序、前期檢測到的網(wǎng)絡(luò)情況有所不同,如果配置了Infiniband網(wǎng)絡(luò),選用的是Openmpi的mpi庫,需要加“--mcabtlself,openib”參數(shù)等等。使用的時候根據(jù)實際情況所需的資源,做簡單的修改即可。
通過本實施例所公開的安裝分子動力學(xué)類應(yīng)用程序的方法簡化了分子動力學(xué)類應(yīng)用程序的安裝流程,降低了安裝難度;通過依賴關(guān)系判斷、容錯性判斷、標(biāo)準(zhǔn)化配置等方式提高了應(yīng)用程序的安裝成功率和安裝質(zhì)量,最大程度避免了人為操作失誤;通過無人值守的方式大大提高了分子動力學(xué)類應(yīng)用程序的安裝部署效率,節(jié)省了時間及人力。
圖3是根據(jù)本發(fā)明的在高性能集群系統(tǒng)中安裝分子動力學(xué)類應(yīng)用程序的方法的實例的流程圖。在本實例中:
第一步:載入程序包整體環(huán)境變量,主要包括安裝過程中需要用到的子程序、應(yīng)用程序源程序所在位置、安裝目標(biāo)路徑等。
第二步:載入安裝應(yīng)用程序需要的環(huán)境變量,主要包括編譯器、MPI等,并測試編譯器是否能夠正常使用。載入的環(huán)境變量隨應(yīng)用程序的不同而不同。
第三步:檢查應(yīng)用程序的源程序是否存在、安裝目標(biāo)文件夾是否正常創(chuàng)建等。
第四步:檢查高性能集群環(huán)境,包括操作系統(tǒng)版本、網(wǎng)絡(luò)、處理器等。
操作系統(tǒng)版本、處理器類型等可以通過查看系統(tǒng)文件設(shè)置獲取,目前支持的操作系統(tǒng)包括RedHat、Suse、CentOS等主流高性能集群操作系統(tǒng)。
網(wǎng)絡(luò)檢查主要查看是否配置了高速Infiniband網(wǎng),并計劃應(yīng)用程序使用這種網(wǎng)絡(luò),主要從兩點檢查:
1,檢查服務(wù)器中是否配置了高速Infiniband網(wǎng)卡。
2,是否為Infiniband網(wǎng)卡安裝了驅(qū)動,網(wǎng)卡狀態(tài)是否正常。
第五步:由于分子動力學(xué)程序?qū)σ恍?shù)學(xué)庫比如Blas,Lapack,fftw等數(shù)學(xué)庫有依賴關(guān)系,不同的處理器平臺,不同的操作系統(tǒng)會對依賴程序的版本有所要求,需要根據(jù)系統(tǒng)的具體情況作出選擇使用何種數(shù)學(xué)庫,比如AMD的處理器,操作系統(tǒng)為Redhat6.0以前的版本,數(shù)學(xué)庫選用Gotoblas2,比如如果網(wǎng)絡(luò)配置了高速的Infiniband網(wǎng)絡(luò),就需要選擇支持Infiniband網(wǎng)絡(luò)的MPI庫,等等。
第六步:根據(jù)獲得的系統(tǒng)信息選擇合適的安裝方式、合適的數(shù)學(xué)庫對程序進(jìn)行編譯安裝。安裝過程中程序會根據(jù)前期檢測到的系統(tǒng)配置情況,自動選擇數(shù)學(xué)庫、MPI庫等。
第七步:為應(yīng)用程序生成一個在集群系統(tǒng)提交作業(yè)的腳本示例,示例文件包括兩部分:如何申請計算資源、如何運行應(yīng)用程序。高性能集群系統(tǒng)一般配置作業(yè)調(diào)度系統(tǒng),準(zhǔn)備的腳本里面包括如何申請計算資源、如何執(zhí)行命令等,這部分內(nèi)容與應(yīng)用程序無關(guān),取決于調(diào)度系統(tǒng)的設(shè)置,本發(fā)明中選用的最常用的pbs語法的調(diào)度系統(tǒng),需要設(shè)置的參數(shù)有“#PBS–lnodes=1:ppn=2”,“#PBS–qlow”等;執(zhí)行命令的方式會根據(jù)不同的應(yīng)用程序、前期檢測到的網(wǎng)絡(luò)情況有所不同,如果配置了Infiniband網(wǎng)絡(luò),選用的是Openmpi的mpi庫,需要加“--mcabtlself,openib”參數(shù)等等。腳本使用的時候根據(jù)實際情況所需的資源,對申請計算資源部分做簡單的修改即可。
程序包在安裝過程中會對安裝過程產(chǎn)生的輸出進(jìn)行保存,如果非正常退出,可以查看保存的文件,查找出錯的原因。
程序包的使用:
把程序包解壓后會有一個install.sh的命令,進(jìn)入程序包的文件夾,執(zhí)行命令:./install.sh--<應(yīng)用程序的名字>。之后即可實現(xiàn)應(yīng)用程序的自動安裝。
本發(fā)明提出了一種高性能計算集群分子動力學(xué)類應(yīng)用程序的自動安裝方法。通過自動化的方式大大簡化了分子動力學(xué)類應(yīng)用程序的安裝流程,降低了安裝難度;通過依賴關(guān)系判斷、容錯性判斷、標(biāo)準(zhǔn)化配置等方式提高了應(yīng)用程序的安裝成功率和安裝質(zhì)量,最大程度避免了人為操作失誤;通過無人值守的方式大大提高了分子動力學(xué)類應(yīng)用程序的安裝部署效率,節(jié)省了時間及人力。該方法和程序廣泛適用于不同規(guī)模的高性能計算集群分子動力學(xué)類應(yīng)用程序的自動快速安裝部署,也適用于動態(tài)多變的環(huán)境中(如云計算)對臨時計算資源進(jìn)行高性能計算程序環(huán)境快速配置部署。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。