1.LAMMPS简介
LAMMPS由美国Sandia国家实验室开发,以GPL license发布,即开放源代码且可以免费获取使用,这意味着使用者可以根据自己的需要自行修改源代码。LAMMPS可以支持包括气态,液态或者固态相形态下、各种系综下、百万级的原子分子体系,并提供支持多种势函数,并且LAMMPS有良好的并行扩展性,适合大型HPC集群下的并行运行。 |
2.安装环境需求
1、硬件环境:X86架构服务器 2、操作系统环境:Redhat,Centos,SUSE,Ubuntu等常用linux系统 3、Intel开发套件版本:parallel_studio_xe_2019_update5 4、安装用户:root用户,安装到/opt/software 5、本次测试系统:CentOS7.6x64 |
3.软件介质
1.介质文件lammps-stable.tar.gz 2.软件版本lammps-3Mar20 |
4.软件安装步骤
4.1编译环境设置
我们使用intel编译器编译lammps,使用intel MPI运行lammps intel编译器的安装和设置步骤详见文章《Intel Parallel Studio XE 2019安装设置》一文 运行如下命令设置好编译环境 |
source /opt/intel/intel2019u5.sh
4.2下载并解压软件
下载软件
wget https://lammps.sandia.gov/tars/lammps-stable.tar.gz
复制软件到/opt/software目录
cp lammps-stable.tar.gz /opt/software
解压
tar xvf lammps-stable.tar.gz
得到lammps的目录
/opt/software/lammps-3Mar20/
4.3安装编译lammps
进入lammps安装目录
cd /opt/software/lammps-3Mar20/src
查看所有package
make package-status
选择需要安装的package
比如
make yes-perimake yes-manybody
使用intel编译器,intel mpi编译lammps的命令如下
make clean-allmake -j 10 intel_cpu_intelmpi
编译成功后,在当前目录生成可执行文件lmp_intel_cpu_intelmpi
如果选择安装所有package
make yes-all
注意:有些软件包由于依赖关系,无法安装,可以选择去掉,如下是我测试时,选择yes-all后需要去掉的包
make no-USER-QUIPmake no-user-h5mdmake no-user-plumedmake no-mscgmake no-messagemake no-lattemake no-kimmake no-gpumake no-user-smdmake no-pythonmake no-user-vtkmake no-USER-ADIOSmake no-USER-SCAFACOSmake no-voronoimake no-USER-AWPMDmake no-USER-ATC
5.lammps并行测试
运行软件时需要用普通用户,如下操作用jingyang用户测试
5.1.设置算例
从examples里复制一个lammps算例文件到用户家目录里并改成lammps_test目录
cp -r /opt/software/lammps-3Mar20/examples/shear ~/lammps_test
设置好intel环境变量
source /opt/intel/intel2019u5.sh
进入测试目录
cd ~/lammps_test
5.2、单节点内并行测试
mpirun -np 20 / opt/software /lammps-3Mar20/src/lmp_intel_cpu_intelmpi < in.shear
5.3、多节点并行测试(前提配置好集群环境)
编辑host文件,内容如下
node01node02
运行命令
mpirun -machinefile host -np 40 /home/inspur/lammps-3Mar20/src/lmp_intel_cpu_intelmpi < in.shear
6.lammps软件PBS脚本例子
#PBS -N test-lammps#PBS -q batch#PBS -l nodes=2:ppn=20#PBS -S /bin/bash#PBS -Vcd $PBS_O_WORKDIRsource /opt/intel/intel2019u5.shINPUT_FILE=PdP.inNP=`cat $PBS_NODEFILE | wc -l`NN=`cat $PBS_NODEFILE | sort | uniq | tee /tmp/nodes.$$ | wc -l`cat $PBS_NODEFILE > /tmp/nodefile.$$mpirun -machinefile /tmp/nodefile.$$ -n $NP /opt/software/lammps-3Mar20/src/lmp_intel_cpu_intelmpi < ${INPUT_FILE} >out.logrm -rf /tmp/nodefile.$$rm -rf /tmp/nodes.$$
本文内容均为原创,转载请注明。