本文介紹如何使用E-HPC叢集運行LAMMPS開源模擬軟體,以3d Lennard-Jones melt模型進行工業模擬,並通過可視化的方式查看模擬結果。
背景資訊
LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款經典分子動力學軟體。 LAMMPS包含的勢函數可用於固體材料(金屬、半導體)、軟物質(生物大分子,彙總物)、粗粒化或介觀尺度模型體系。
E-HPC作為高效能且彈性的計算叢集,可為複雜工程和力學結構提供輔助分析,通過大量資料模擬類比最佳化產品結構和效能,目前在工業模擬領域的應用越來越多。
準備工作
建立E-HPC叢集。具體操作,請參見使用嚮導建立叢集。
配置叢集時,本文使用的軟硬體參數配置樣本如下:
參數
說明
硬體參數
部署方式為標準,包含2個管控節點,1個計算節點和1個登入節點,其中計算節點使用vCPU≥32的執行個體規格(例如ecs.c7.8xlarge)。
說明本樣本計算量不大,實際使用中可以依據作業計算量增加計算節點的數量。
軟體參數
鏡像選擇CentOS 7.6公用鏡像,調度器選擇pbs,並開啟VNC開關。
建立叢集使用者。具體操作,請參見建立使用者。
叢集使用者用於登入叢集,進行編譯軟體、提交作業等操作,本文建立的使用者樣本如下:
使用者名稱:testuser
使用者組:sudo許可權組
安裝軟體。具體操作,請參見安裝軟體。
需安裝的軟體如下:
lammps-openmpi,版本為31Mar17
openmpi,版本為1.10.7
vmd,版本為1.9.3
步驟一:串連叢集
選擇以下一種方式串連叢集。本文使用的使用者名稱為testuser,串連叢集後會預設登入到/home/testuser。
通過用戶端
該方式僅支援使用PBS調度器的叢集。操作前,請確保您已下載安裝E-HPC用戶端,且已配置用戶端所需環境。具體操作,請參見配置用戶端所需環境。
開啟並登入E-HPC用戶端。
在用戶端左側導覽列,單擊會話管理。
在會話管理頁面的右上方,單擊terminal,開啟Terminal視窗。
通過控制台
登入彈性高效能運算控制台。
在頂部功能表列左上方處,選擇地區。
在左側導覽列,單擊叢集。
在叢集頁面,找到目的地組群,單擊遠端連線。
在遠端連線頁面,輸入集群使用者名稱、登入密碼和連接埠,單擊ssh串連。
步驟二:提交作業
執行以下命令建立算例檔案,算例檔案命名為lj.in。
vim lj.in算例內容樣本如下:
# 3d Lennard-Jones melt variable x index 1 variable y index 1 variable z index 1 variable xx equal 20*$x variable yy equal 20*$y variable zz equal 20*$z units lj atom_style atomic lattice fcc 0.8442 region box block 0 ${xx} 0 ${yy} 0 ${zz} create_box 1 box create_atoms 1 box mass 1 1.0 velocity all create 1.44 87287 loop geom pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0 2.5 neighbor 0.3 bin neigh_modify delay 0 every 20 check no fix 1 all nve dump 1 all xyz 100 sample.xyz run 10000執行以下命令建立作業指令檔,指令檔命名為lammps.pbs。
vim lammps.pbs作業指令碼內容樣本如下:
說明以下樣本使用1個計算節點的32 vCPU,使用32個MPI任務進行高效能運算。請根據實際計算節點規格配置vCPU數,算力要求vCPU≥32。
#!/bin/sh #PBS -l select=1:ncpus=32:mpiprocs=32 #PBS -j oe export MODULEPATH=/opt/ehpcmodulefiles/ #module命令依賴的環境變數 module load lammps-openmpi/31Mar17 module load openmpi/1.10.7 echo "run at the beginning" mpirun lmp -in ./lj.in #請根據實際修改lj.in檔案的路徑執行以下命令提交作業。
qsub lammps.pbs預期返回如下,表示產生的作業ID為0.scheduler。
0.scheduler
步驟三:查看作業結果
執行以下命令查看作業結果。
cat lammps.pbs.o0說明如果您不指定作業標準輸出路徑,則預設按照調度器行為產生輸出檔案。預設作業結果檔案輸出
/home/<使用者名稱>/目錄下,本樣本中的作業結果檔案為/home/testuser/lammps.pbs.o0。預期返回如下:
...... Per MPI rank memory allocation (min/avg/max) = 3.777 | 3.801 | 3.818 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7733681 0 -4.6134356 -5.0197073 10000 0.69814375 -5.6683212 0 -4.6211383 0.75227555 Loop time of 9.81493 on 32 procs for 10000 steps with 32000 atoms Performance: 440145.641 tau/day, 1018.856 timesteps/s 97.0% CPU use with 32 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 6.0055 | 6.1975 | 6.3645 | 4.0 | 63.14 Neigh | 0.90095 | 0.91322 | 0.92938 | 0.9 | 9.30 Comm | 2.1457 | 2.3105 | 2.4945 | 6.9 | 23.54 Output | 0.16934 | 0.1998 | 0.23357 | 4.3 | 2.04 Modify | 0.1259 | 0.13028 | 0.13602 | 0.8 | 1.33 Other | | 0.06364 | | | 0.65 Nlocal: 1000 ave 1022 max 986 min Histogram: 5 3 6 3 4 4 2 2 1 2 Nghost: 2705.62 ave 2733 max 2668 min Histogram: 1 1 0 3 7 5 4 5 4 2 Neighs: 37505 ave 38906 max 36560 min Histogram: 7 3 2 4 5 2 3 3 2 1 Total # of neighbors = 1200161 Ave neighs/atom = 37.505 Neighbor list builds = 500 Dangerous builds not checked Total wall time: 0:00:10使用VNC可視化查看作業結果。
開啟VNC。
說明請確保叢集所屬安全性群組已開啟VNC所需連接埠。控制台操作時系統會自動開啟12016連接埠,用戶端操作時,請您自行開啟連接埠,首個VNC視窗使用12017連接埠,如果有多個使用者使用VNC,則連接埠號碼按順序遞增。
通過用戶端
在用戶端的左側導覽列,單擊會話管理。
在會話管理頁面的右上方,單擊VNC,開啟VNC視窗。
通過控制台
在彈性高效能運算控制台的左側導覽列,單擊叢集。
在叢集頁面,找到目的地組群,單擊更多 > VNC。
使用VNC遠端連線可視化服務。具體操作,請參見串連可視化服務。
在VNC視窗中,選擇Application>System Tools>Terminal。
運行
/opt/vmd/1.9.3/vmd開啟VMD軟體。在VMD Main對話方塊中,選擇File > New Molecule...。
單擊Filename處對應的Browse...,選擇結果檔案sample.xyz。
說明sample.xyz檔案的路徑為/home/testuser/sample.xyz。
單擊Load,可在VMD 1.9.3 OpenGL Display視窗查看可視化結果。
