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
螢光云官網萤光云成立于2002年,是一家自有IDC的云厂商,主打高防云服务器产品。在国内有福州、北京、上海、台湾、香港CN2节点,还有华盛顿、河内、曼谷等海外节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。本次萤光云中秋云活动简单无套路,直接在原有价格上砍了一大刀,最低价格16元/月,而且有没有账户限制,新老客户都可以买,就是直接满满的诚意给大家送优惠了!官网首页:www....
特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。公司名:珠海市特网科技有限公司官方网站:https://www.56dr.com特网云为您提供高速、稳定、安全、弹性的云计算服务 计算、存储、监控、安全,完善...
wordpress外贸集团企业主题,wordpress通用跨屏外贸企业响应式布局设计,内置更完善的外贸企业网站优化推广功能,完善的企业产品营销展示 + 高效后台自定义设置。wordpress高级推广外贸主题,采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器,根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行自适应显示; 完美实现一套主题程序支持全部终端设备,保证网站在各...
ubuntu软件为你推荐
敬汉卿姓名被抢注如果有一定影响力的笔名,被某个产品抢注,能否起诉告其侵权?mathplayer比较word,TeX,MathML中的数学公式处理方式的异同点,尽量详细哦,分数不是问题,谢谢哈,会加分的。psbc.com邮政储蓄卡如何激活8090lu.com8090向前冲电影 8090向前冲清晰版 8090向前冲在线观看 8090向前冲播放 8090向前冲视频下载地址??sss17.com为什么GAO17.COM网站打不开了se95se.comwww.sea8.com这个网站是用什么做的 需要多少钱www.789.com.cn有什么网站可以玩游戏的.www.123qqxx.com我的首页http://www.hao123.com被改成了http://www.669dh.cn/?yhc555sss.com拜求:http://www.jjj555.com/这个网站是用的什么程序javlibrary.com大家有没有在线图书馆WWW。QUESTIA。COM的免费帐号
虚拟主机试用30天 深圳域名空间 新网域名解析 哈喽图床 evssl证书 美国php空间 tk域名 国外空间 网站挂马检测工具 中国智能物流骨干网 免费活动 免费申请网站 空间技术网 无限流量 域名与空间 starry 东莞服务器托管 带宽测试 北京主机托管 godaddyssl 更多