11软件介绍LAMMPS即Large-scaleAtomic/MolecularMassivelyParallelSimulator,可以翻译为大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作,一般来讲,分子动力学所涉及到的领域,LAMMPS代码也都涉及到了.
2安装环境lammps版本:lammps-16Mar18操作系统:Ubuntu16.
04编译器:GCCcuda:9.
0mpi:openmpi-3.
0-gnu3安装步骤3.
1CUDA到https://developer.
nvidia.
com/cuda-downloads下载对应操作系统的cuda安装包.
下载后执行:chmod+xcuda_9.
0.
176_384.
81_linux.
run#使之具有可执行权限sudoshcuda_9.
0.
176_384.
81_linux.
run然后按照相关的提示输入安装路径即可,本文选择默认路径.
详细安装步骤可以参考CUDA9安装手册.
环境变量:cat/etc/profile.
d/cuda-env.
shexportPATH=/usr/local/cuda-9.
0/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/cuda-9.
0/lib64:$LD_LIBRARY_PATHexportC_INCLUDE_PATH=/usr/local/cuda-9.
0/include:$C_INCLUDE_PATH3.
2MPI目前lammps在gpu环境下选择openmpi-3.
0-gnu可以安装成功.
下载链接:https://www.
open-mpi.
org/software/ompi/v3.
0/23.
2.
1OpenMPI简介OpenMPI是一个免费的、开源的MPI实现,兼容MPI-1和MPI-2标准.
OpenMPI由开源社区开发维护,并具有很高的性能.
OpenMPI目前最新版本为openmpi-3.
0.
0,官方网站:http://www.
open-mpi.
org/,可从官网免费下载Openmpi源码安装包.
CUDA-awareMPI:支持CUDA-aware意味着MPI库可以直接接收和发送GPU显存数据,以下版本及之后的版本都支持.
*MVAPICH21.
8/1.
9b*OpenMPI1.
7*CRAYMPI(MPT5.
6.
2)*IBMPlatformMPI(8.
3)*SGIMPI(1.
08)3.
2.
2安装OpenMPI以OpenMPI3.
0.
0为例:$tarzxvfopenmpi-3.
0.
0.
tar.
gz$cdopenmpi-3.
0.
0$.
/configure--prefix=/public/software/mpi/openmpi-3.
0.
0--enable-mpirun-prefix-by-default--without-psmCC=gccCXX=g++FC=gfortranF77=gfortran--with-cuda=/usr/local/cuda-9.
0$make-j8#8个进程并行编译$makeinstall设置环境变量脚本:vim/public/software/profile.
d/openmpi-3.
0.
0-env.
shexportMPI_HOME=/public/software/mpi/openmpi-3.
0.
0exportPATH=${MPI_HOME}/bin:${PATH}exportLD_LIBRARY_PATH=${MPI_HOME}/lib:${LD_LIBRARY_PATH}exportMANPATH=${MPI_HOME}/share/man:${MANPATH}Tips1.
OpenMPI安装会自动检测编译节点本地可用的通信网络设备,如需支持InfiniBand网络,请确保编译MPI前该节点已安装OFED驱动.
2.
执行OpenMPI安装目录$MPI_HOME/bin下的ompi_info命令,可查询当前OpenMPI配置信息.
33.
2.
3编译MPI程序OpenMPI提供了C/C++,Fortran等语言的MPI编译器,如下表所示:语言类型MPI编译器CmpiccC++mpicxxFortran77mpif77Fortran90mpif90MPI编译器是对底层编译器的一层包装,通过-show参数可以查看实际使用的编译器.
比如:$mpicc-showicc-I/public/software/mpi/openmpi-3.
0.
0/include-pthread-L/public/software/mpi/openmpi-3.
0.
0-intel/lib-lmpi-ldl-lm-lnuma-Wl,--export-dynamic-lrt-lnsl-lutil编译程序示例:$source/public/software/profile.
d/openmpi-3.
0.
0-env.
sh$mpicc-ohellohello.
c$mpif90-ohellohello.
f903.
2.
4运行MPI程序3.
2.
4.
1基本命令OpenMPI使用自带的OpenRTE进程管理器,启动命令为mpirun/mpiexec/orterun,基本格式如下:$mpirun-npN-hostfile-npN:运行N个进程-hostfile:指定计算节点,文件格式如下:node1slots=8node2slots=8slots=8代表可在该节点上执行8个进程,也可将node1和node2分别写8行.
3.
2.
4.
2选择通信网络OpenMPI支持多种通信协议,如以太网TCP、IB网络、内存共享等,可通过设置--mcabtl参数进行选择.
如:$mpirun-np12-hostfilehosts--mcabtlself,sm,openib.
/program将在节点内使用共享内存,节点间使用IB网络通信,这种方式通信效率较高.
4mca参数说明--mcabtlself,tcp使用以太网TCP/IP协议通信--mcabtlself,sm单节点运行时使用共享内存,效率较高--mcabtlself,openib有Infiniband设备时,使用IB通信--mcabtl_tcp_if_includeeth0以太网通信时使用eth0接口,默认同时使用所有接口(包括IPoIB)--mcaorte_rsh-agentrsh指定节点间通信使用rsh,默认为sshTips--mcabtl参数中必须含有self,单进程自己与自己通信可同时指定多个btl参数,如--mcabtlself,sm,openib,最先出现者优先级较高IPoIB设定:--mcabtlself,tcp--mcabtl_tcp_if_includeib0,当然更直接的方式是在hostfile里使用IB网卡的IP地址或对应的hostname3.
3Lammps安装下载Lammps:wgethttp://lammps.
sandia.
gov/tars/lammps-stable.
tar.
gz解压下载文件:tar-xzvflammps-stable.
tar.
gzcdlammps-16Mar18编辑配置文件,在VoltaV100环境下编译:visrc/MAKE/OPTIONS/Makefile.
kokkos_cuda_mpi#editforvolta#KOKKOS_ARCH=Kepler35KOKKOS_ARCH=Volta70编译Lammps:$cdsrc$makeclean-all5$makeno-all$makeno-lib$makeyes-manybodyyes-moleculeyes-replicayes-kspaceyes-asphereyes-rigidyes-miscyes-user-ompyes-user-reaxc$makeyes-kokkos$makekokkos_cuda_mpi-j323.
4Lammps基于NGCDocker安装在NVIDIAGPUCloud(NGC)中,包含Lammps的docker镜像文件,可以直接下载,导入Linuxdocker环境就可以使用.
注册NGC填写注册信息:6登录NGC系统注册NGC后,登录NGC系统,就可以看到下图中所有的HPCApps的dockerimage镜像.
7Dockerimage下载下载image镜像之前,先要获取APIkey:点击GetAPIKey,即可获得:8点击"GenerateAPIKey",并点击弹出对话框中的"Confirm",系统会生成一个APIKey作为nvcr.
io的登录密码,并复制该Password,用于登录:在Linux客户端登录方式如下,作者是在DGX-1平台下,Ubuntu16.
04的系统演示的,如下:9登录成功以后,就可以进行Lammps容器下载,如下:将命令"dockerpullnvcr.
io/hpc/lammps:patch23Oct2017"复制到Linuxterminal:启动docker并运行Lammps使用nvidia-docker命令查看Lammps容器镜像信息.
10启动docker镜像:dgxsa@dgx1:~$nvidia-dockerrun--nameMyLammps-v/home/dgxsa/chengyi/share:/data-itnvcr.
io/hpc/lammps:patch23Oct2017/bin/bashdockerrunOptions-i-tor-it:交互式,连接到一个"tty"--name:给容器命名-v/home/dgxsa/chengyi/share:/data:将host主机的/home/dgxsa/chengyi/myshare存储目录映射到容器的data目录.
启动容器以后,就可以像在一台Linux服务器上操作了,里面已经配置好了所有运行环境,如果需要安装其他软件,可以使用命令:$sudoapt-getupdate$sudoapt-getinstallxxxx进行安装.
如果想退出容器,可以使用命令:Ctrl+D如果想删除容器,可以使用命令:nvidia-dockerrm7b2dfc28da4e;7b2dfc28da4e为docker-ID如果想退出容器登录界面,但保持容器后台运行,可以使用命令:Ctrl+P,然后Ctrl+Q114标准算例4.
1准备算例使用的Lammps算例in.
lj文件如下:#3dLennard-Jonesmelt#EnableAccelpackagesoncommandlinevariablexindex4variableyindex4variablezindex4variableiterationsindex1000variablexxequal20*$xvariableyyequal20*$yvariablezzequal20*$zunitsljatom_styleatomiclatticefcc0.
8442regionboxblock0${xx}0${yy}0${zz}create_box1boxcreate_atoms1boxmass11.
0velocityallcreate1.
4487287loopgeompair_stylelj/cut2.
5pair_coeff111.
01.
02.
5neighbor0.
3binneigh_modifydelay0every20checknofix1allnverun${iterations}4.
2手动运行算例运行命令及结果如下:root@acc60e90047d:/mnt/lammps#mpirun--allow-run-as-root-n16--map-bycore/mnt/lammps-22Aug18/src/lmp_kokkos_cuda_mpi-kong2t2-sfkk-pkkokkosbinsize2.
8commdevice-vx16-vy8-vz8-vt10-inin.
lj12参数解释:-kokkoson/off.
.
.
:turnKOKKOSmodeonoroff(-k),g2t2分别表示2块GPU,每个进程包含2个线程.
-packagestyle.
.
.
:invokepackagecommand(-pk)-suffixgpu/intel/opt/omp:stylesuffixtoapply(-sf)更多的参数可以运行lmp_kokkos_cuda_mpi-h查阅.
4.
3PBS脚本范例建立提交脚本lammps.
pbs#PBS-Nlammps_test#PBS-lnodes=2:gpus=3:ppn=16#2个节点,每个节点2块GPU,16核CPU#PBS-lwalltime=10:00:00#PBS-S/bin/bash#PBS-joecd$PBS_O_WORKDIRNP=`cat$PBS_NODEFILE|wc-l`NN=`cat$PBS_NODEFILE|uniq–c|wc–l`#节点数PPN=`cat$PBS_NODEFILE|uniq-c|sed-n'1,1p'|awk'{print$1}'`#每个节点的进程数,本例中PPN=4mpirun-n$NP--map-bycore/mnt/lammps-22Aug18/src/lmp_kokkos_cuda_mpi-kong2t2-sfkk-pkkokkosbinsize2.
8commdevice-vx16-vy8-vz8-vt10-inin.
lj提交作业,并查看是否正确运行.
qsublammps.
pbsqstat4.
4slurm脚本范例建立提交脚本batch.
lammps#!
/bin/bash13#SBATCH--job-name=lammps_test#SBATCH--nodes=2#总的节点数#SBATCH--ntasks=32#总的CPU核数#SBATCH--partition=hsw_v100_32g#集群的队列名称#SBATCH--gres=gpu:2#SBATCH--time=01:00:00cd$PBS_O_WORKDIRLAMMPS=/mnt/lammps-22Aug18/src/lmp_kokkos_cuda_mpiINPUT=in.
ljmpirun-n$NP--map-bycore$LAMMPS-kong2t2-sfkk-pkkokkosbinsize2.
8commdevice-vx16-vy8-vz8-vt10-in$INPUT>log.
out2>&1关于lammps的slurm运行脚本中指定GPU,需要在slurm.
conf中配置,需要把下面的配置文件slurm.
conf中关于genericresource(gres)的配置注释去掉:[chengyi@psgclustertest]$cat/cm/images/compute-image/etc/slurm/slurm.
conf|grepGresTypes#GresTypes=gpu
hostkvm在2021年3月新上线洛杉矶新VPS业务,强制三网接入中国联通优化线路,是当前中美之间性价比最高、最火热的线路之一,性价比高、速度非常好,接近联通AS9929和电信AS4809的效果,带宽充裕,晚高峰也不爆炸。 官方网站:https://hostkvm.com 全场优惠码:2021(全场通用八折,终身码,长期) 美国 US-Plan0【三网联通优化线路】 内存:1G CPU:...
horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...
pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...
ubuntu软件为你推荐
地图应用看卫星地图哪个手机软件最好。地陷裂口天上顿时露出一个大窟窿地上也裂开了,一到黑幽幽的深沟可以用什么四字词语来?原代码什么叫源代码,源代码有什么作用罗伦佐娜维洛娜毛周角化修复液治疗毛周角化有用吗?谁用过?能告诉我吗?钟神发战旗TV ID:新年快乐丶未央不见是哪个主播同ip网站同IP的两个网站,做单向链接,会不会被K掉??www.baitu.com韩国片爱人.欲望的观看地址www.diediao.com谁知道台湾的拼音怎么拼啊?有具体的对照表最好!888300.com请问GXG客服电话号码是多少?官人放题戴望舒的《狱中题壁》
花生壳动态域名 域名服务器是什么 buyvm 瓦工 singlehop 国外空间服务商 360抢票助手 青果网 web服务器架设软件 商务主机 三拼域名 gg广告 促正网秒杀 域名转向 秒杀预告 怎么测试下载速度 域名转接 网站卫士 太原网通测速平台 息壤代理 更多