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
UCloud优刻得商家这几年应该已经被我们不少的个人站长用户认知,且确实在当下阿里云、腾讯云服务商不断的只促销服务于新用户活动,给我们很多老用户折扣的空间不多。于是,我们可以通过拓展选择其他同类服务商享受新人的福利,这里其中之一就选择UCloud商家。UCloud服务商2020年创业板上市的,实际上很早就有认识到,那时候价格高的离谱,谁让他们只服务有钱的企业用户呢。这里希望融入到我们大众消费者,你...
bluehost怎么样?bluehost推出新一代VPS美国云主机!前几天,BlueHost也推出了对应的周年庆活动,全场海外虚拟主机月付2.95美元起,年付送免费的域名和SSL证书,通过活动进入BlueHost中文官网,购买虚拟主机、云虚拟主机和独立服务器参与限时促销。今天,云服务器网(yuntue.com)小编给大家介绍的是新一代VPS美国云主机,美国SSD云主机,2核2G/20GB空间,独立...
春节期间我们很多朋友都在忙着吃好喝好,当然有时候也会偶然的上网看看。对于我们站长用户来说,基本上需要等到初八之后才会开工,现在有空就看看是否有商家的促销。这里看到来自HMBcloud半月湾服务商有提供两款春节机房方案的VPS主机88折促销活动,分别是来自洛杉矶CN2 GIA和日本CN2的方案。八八折优惠码:CNY-GIA第一、洛杉矶CN2 GIA美国原生IP地址、72小时退款保障、三网回程CN2 ...
ubuntu软件为你推荐
美国互联网瘫痪如果全球网络瘫痪3分钟会造成多少损失硬盘工作原理数据存储的原理是什么www.hao360.cn主页设置为http://hao.360.cn/,但打开360浏览器先显示www.yes125.com后转换为www.2345.com,搜索注册表和百花百游百花净斑方多少钱一盒ip查询器查看自己IP的指令99nets.com制作网络虚拟证件的网站 那里有呀?dadi.tvApple TV是干嘛的?怎么用?多少钱?66smsm.comffff66com手机可以观看视频吗?javlibrary.comImage Library Sell Photos Digital Photos Photo Sharing Photo Restoration Digital Photos Photo Albumswww.mfav.org手机登录WWW.brcbc.org 能注册么
免费网站空间 免费申请网站域名 泛域名解析 gateone directadmin 2017年万圣节 警告本网站 web服务器架设软件 中国特价网 七夕快乐英文 seednet 网络空间租赁 免费测手机号 免费智能解析 中国网通测速 最好的qq空间 银盘服务是什么 drupal安装 申请免费空间和域名 免费外链相册 更多