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
LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...
美得云怎么样?美得云好不好?美得云是第一次来推广软文,老板人脾气特别好,能感觉出来会用心对待用户。美得云这次为大家提供了几款性价比十分高的产品,美国cera 2核4G 15元/月 香港1核 1G 3M独享 15元/月,并且还提供了免费空间给大家使用。嘻嘻 我也打算去白嫖一个空间了。新用户注册福利-8折优惠码:H2dmBKbF 截止2021.10.1结束。KVM架构,99.99%高可用性,依托BGP...
Hostodo 算是比较小众的海外主机商,这次九月份开学季有提供促销活动。不过如果我们有熟悉的朋友应该知道,这个服务商家也是比较时间久的,而且商家推进活动比较稳,每个月都有部分活动。目前有提供机房可选斯波坎、拉斯维加斯和迈阿密。从机房的地理位置和实际的速度,中文业务速度应该不是优化直连的,但是有需要海外业务的话一般有人选择。以前一直也持有他们家的年付12美元的机器,后来用不到就取消未续约。第一、开...
ubuntu软件为你推荐
www.983mm.comwww.47683.comlunwenjiance知网论文检测查重系统rawtoolsRAW是什么衣服牌子同ip站点同IP做同类站好吗?同一服务器网站一个服务器能运行多少个网站www.vtigu.com如图,已知四边形ABCD是平行四边形,下列条件:①AC=BD,②AB=AD,③∠1=∠2④AB⊥BC中,能说明平行四边形m.yushuwu.org花样滑冰名将YU NA KIM的资料谁有?www.dm8.cc有没有最新的日本动漫网站?59ddd.comarmada m300什么装系统汴京清谈都城汴京,数百万家,尽仰石炭,无一燃薪者的翻译
深圳网站空间 四川虚拟主机 新网域名解析 edgecast liquidweb 美国翻墙 台湾服务器 mach5 56折 国外空间服务商 2017年黑色星期五 最好看的qq空间 英文站群 好看qq空间 vip购优汇 tna官网 创建邮箱 google台湾 万网主机管理 架设邮件服务器 更多