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
博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...
香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...
如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...
ubuntu软件为你推荐
网络访问域名访问提示是什么意思外挂购买自动充值软件8080端口如何关闭8080端口微信回应封杀钉钉微信发过来的钉钉链接打不开?李子柒年入1.6亿宋朝鼎盛时期 政府财政收入有将近1亿贯铜钱,那么GDP是多少呢?www.20ren.com求此欧美艳星名字http://www.sqsmm.com/index.php?album-read-id-1286.html18comic.funAnime Comic Fun是什么意思啊 我不懂英文丑福晋大福晋比正福晋大么百度关键词工具如何通过百度官方工具提升关键词排名百度关键词工具百度有关键字分析工具吗?Google AdWords有的
北京网站空间 域名论坛 太原域名注册 香港vps vps论坛 免费域名跳转 漂亮qq空间 GGC tier payoneer 42u机柜尺寸 外国域名 60g硬盘 网站保姆 大容量存储器 gspeed 699美元 isp服务商 最好的qq空间 中国电信宽带测速网 更多