lammps多机集群并行配置.docx
《lammps多机集群并行配置.docx》由会员分享,可在线阅读,更多相关《lammps多机集群并行配置.docx(17页珍藏版)》请在冰豆网上搜索。
![lammps多机集群并行配置.docx](https://file1.bdocx.com/fileroot1/2023-2/4/16953046-1c6c-437f-b3ba-215f9444660b/16953046-1c6c-437f-b3ba-215f9444660b1.gif)
lammps多机集群并行配置
多机并行运算配置设置步骤
第一步、安装Linux
在WinXP存在的前提下安装Linux双系统
在WinXP下右击“我的电脑”>管理>磁盘管理
右击D右击>删除磁盘分区>是>...(此部分硬盘将用于安装Linux)
在WinXP开机状态下插入RedHat光盘
1、安装
以四核计算机为例,在单一Linux系统的前提下,重装Linux系统。
在Linux启动状态下,插入Linux安装光盘,
点击菜单“系统”,点击“关机”,点击“重启”,重启机器,
双核计算机需要按“F9”,出现OpticalDrive后,按“回车”键,
出现“Installorupgradeanexistingsystem”后,按“回车”键,
出现“OK”和“Skip”后,用键盘上的方向键选中“Skip”,按“回车”键,
点击右下角的“Next”按钮,
选中“Chinese(Simipified)(中文(简体)))”,点击右下角的“Next”按钮,
选中“美国英语式”,点击右下角的“下一步”按钮,
选中“基本存储设备”后,点击右下角的“下一步”按钮,
选中“全新安装”,点击右下角的“下一步”按钮,
主机名(不改变),点击右下角的“下一步”按钮,
时区(不改变),点击右下角的“下一步”按钮,
“根密码”后输入:
123456,敲“Tab”键
“确认”后输入:
123456,点击右下角的“下一步”按钮,
弹出一个警告窗口,点击其中的“无论如何都使用”按钮,
选中“使用所有空间”,点击右下角的“下一步”按钮,
出现“将存储配置写入磁盘”对话框,点击其中的“将修改写入磁盘”按钮,
选中“软件开发工作站”,选中右侧的全部选项,选中“现在自定义”,点击右下角的“下一步”按钮,
选中左边的“开发”,选中右侧的全部选项,依次选中右侧的每个选项,然后分别点击“可选软件包”按钮,选中其中的全部选项,点击“关闭”按钮,点击右下角的“下一步”按钮,
开始安装,等待较长时间,
光驱自动打开,屏幕上出现“祝贺您,您的…”字样,取出光盘,
点击右下角的“重新引导”按钮,
机器重启后,屏幕上出现“欢迎”“您的系统就绪前还需要进行…”等字样,点击“前进”按钮,
选中“是的,我同意许可证协议”,点击“前进”按钮,
选中“不,以后再注册”,点击“前进”按钮,
弹出一个窗口,点击其中的“不,谢谢,以后再连接”按钮,点击“前进”按钮,
点击“前进”按钮,
点击“前进”按钮,
去掉“启用kdump”,点击“完成”按钮,
弹出一个窗口,点击其中的“是”按钮,
弹出一个窗口,点击其中的“确定”按钮,
重启后,鼠标点击“其它…”,
在“用户名”后输入root回车,
在“密码”后输入123456回车,
弹出一个窗口,选中其中的“不要再显示此信息”,点击“关闭”按钮。
鼠标点击菜单“系统”,选择其中的“管理”,选择其中的“添加/删除软件”,
弹出一个“软件包安装程序正以特权用户身份运行”窗口,点击其中的“确认继续”按钮,弹出一个“组别列表不合法”对话框,点击其中的“关闭”按钮,
在“添加/删除软件”对话框左上角的查找框里输入“subscription”,鼠标点“查找”按钮,
在其右侧出现三个组件,去掉这些组件前的三个勾,点击“应用”按钮,弹出一个窗口,点击其中的“删除”按钮,鼠标点击“添加/删除软件”窗口右上角的“关闭”。
2、关闭防火墙
鼠标点击菜单“系统”,选择其中的“管理”,选择其中的“防火墙”,点击“关闭”按钮,点击工具栏里最后一个“禁用”工具,点击工具栏里第二个“应用”工具,弹出一个窗口,点击其中的“是”按钮,点击“防火墙配置”窗口右上角的“关闭”。
3、启用网络连接:
确认网线已经连接到交换机上;
鼠标右键单击右上方日期前“网络连接”的图标,选中“启用通知”;
鼠标右键单击右上方日期前“网络连接”的图标,左键单击“编辑连接”,双击“Systemeth0”,选中“自动连接”,选择“IPv4设置”选项卡,方法:
“手动”,点击“添加”按钮,在“地址”栏内输入:
211.64.31.141(第二台机子上的地址为211.64.31.142),单击“子网掩码”,输入:
255.255.255.0,单击“网关”,输入:
211.64.31.10,在“DNS服务器”处,输入:
210.44.176.1。
单击“应用”按钮,单击“关闭”按钮。
第二步、准备安装文件
配置之前需要下载四个压缩包:
1、下载Python
http:
//www.python.org/getit/
选“Python2.7.3bzippedsourcetarball(forLinux,UnixorMacOSX,morecompressed)”
出现“正在打开Python-2.7.3.tar.bz2”窗口
选中“保存文件”选项
点击“确定”按钮
下载的文件名称为:
Python-2.7.3.tar.bz2
2、下载lammps
http:
//lammps.sandia.gov/download.html#git
点击DownloadLAMMPS一栏中第二个thispage链接,选择最新的lammps安装程序,如lammps-6Dec12.tar.gz,点击lammps-6Dec12.tar.gz,
选中“保存文件”选项,
点击“确定”按钮
下载的文件名称为:
lammps-6Dec12.tar.gz
3、下载mpich2
http:
//www.mpich.org/downloads/
点击“mpich2-1.5(stablerelease)MPICH2[http]22MB”这一行中的“[http]”
选中“保存文件”选项
点击“确定”按钮
下载的文件名称为:
mpich2-1.5.tar.gz
4、下载fftw
http:
//www.fftw.org/download.html
点击“FFTW2.1.5”目录下的“·http:
fftw-2.1.5.tar.gz(http:
fftw-2.1.5.tar.gz)(1.2MB)”中的“fftw-2.1.5.tar.gz”,即可打开下载链接
选中“保存文件”选项
点击“确定”按钮
下载的文件名称为:
fftw-2.1.5.tar.gz
注意:
下载的四个压缩包
Python-2.7.3.tar.bz2
lammps.tar.gz
mpich2-1.5.tar.gz
fftw-2.1.5.tar.gz
将会保存到root里的“下载”文件夹中,将它们拷贝粘贴至桌面上的“root的主文件夹”下。
第三步、更新Linux的Python
在集群的每台机器上都需要完成本步骤的操作。
如果不更新,将会使得mpd&出错
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
tarxvfPython-2.7.3.tar.bz2回车(输入文件名称时,先写开头几个字母,点击Tab键可以自动补全文件全称)
cdPython-2.7.3回车
./configure回车
make回车
sudomakeinstall回车
鼠标点击当前终端窗口右上角的“关闭”,关闭当前的终端,
鼠标点击“root文件夹”窗口右上角的“关闭”,关闭“root文件夹”。
第四步设置环境变量
在集群的每台机器上都需要完成本步骤的操作。
1、双击桌面上的“root的主文件夹”
鼠标点击菜单中的“查看”,选中“显示隐藏文件”
在文件夹内部单击鼠标右键,选择“在终端中打开”
cd~
vi.bashrc回车
敲Insert键
2、.bashrc中的所有命令行用以下内容替换:
#.bashrc
#Userspecificaliasesandfunctions
aliasrm=’rm-i’
aliascp=’cp-i’
aliasmv=’rm-i’
#sourceglobaldefinitons
if[-f/etc/bashrc];then
./etc/bashrc
fi
exportPATH=/opt/mpich/bin:
/opt/bin:
$PATH
exportLD_LIBRARY_PATH=/opt/mpich/lib:
/opt/fftw/lib:
$LD_LIBRARY_PATH
exportMPI_USEP4SSPORT=yes
exportMPI_P4SSPORT=22
exportP4_RSHCOMMAND=ssh
3、Esc(保存),Shift+z+z(退出),
鼠标点击当前终端窗口右上角的“关闭”,关闭当前的终端,
鼠标点击“root文件夹”窗口右上角的“关闭”,关闭“root文件夹”。
4、重要:
点击菜单“系统”,点击“关机”,点击“重启”,重启计算机,使改动的环境变量生效。
重启后,鼠标点击“其它…”,
在“用户名”后输入root回车,
在“密码”后输入123456回车。
第五步ssh配置
1、修改所有机器上的/etc/hosts文件,在里面添加参与计算的ip地址和机器名,具体操作为:
在桌面上鼠标双击“计算机”,双击“文件系统”,双击其中的“etc”文件夹,在文件夹内部单击鼠标右键,选择“在终端中打开”
cd/
cdetc
当前路径是root@localhostetc,
vihosts回车,
敲Insert键,
删除原来的内容,
如果有两台机器参与并行计算,hosts文件应当包含下面三行,
127.0.0.1localhost
211.64.31.141node01
211.64.31.142node02
Esc(保存),Shift+z+z(退出),
表明主机名为node01的机器ip地址为211.64.31.141;主机名为node02的机器ip地址为211.64.31.142。
2、在所有的机器上创建密钥对:
cd~回车
ssh-keygen-tdsa回车,
三个回车。
3、给参与并行计算的两台机器进行授权,需在参与计算的两台机器上均执行以下命令,
cd~
当前路径是root@localhost~,
cd.ssh回车,
cpid_dsa.pubauthorized_keys回车,
chmodgo-rwxauthorized_keys回车,
ssh-agent$SHELL回车,
ssh-add回车,
等待集群中所有计算机都完成上述步骤后,才能进行以下互访步骤,在node01机器终端中输入,(当前终端提示符为root@localhost.ssh)
sshnode01回车,输入yes回车,输入密码
exit回车,当前终端提示符为root@localhost.ssh,
sshnode02回车,输入yes回车,输入密码:
123456回车,
exit回车,当前终端提示符为root@localhost.ssh,
exit回车,
exit回车,关闭终端。
在桌面上鼠标右键选择“在终端中打开”。
ssh-copy-idnode02回车,
输入密码:
123456回车,
sshnode02回车,
当前终端提示符为root@localhost~,
exit回车,
exit回车,关闭终端。
在node02机器终端中输入
sshnode02,yes,输入密码
exit
sshnode01,yes,输入密码
exit
ssh-copy-idnode01
在node02机器终端中输入,(当前终端提示符为root@localhost.ssh)
sshnode02回车,
输入yes回车,
输入密码
当前终端提示符为root@localhost~,
exit回车,当前终端提示符为root@localhost.ssh,
sshnode01回车,输入yes回车,输入密码:
123456(不显示)回车,
exit回车,当前终端提示符为root@localhost.ssh,
exit回车,
exit回车,关闭终端。
在桌面上鼠标右键选择“在终端中打开”。
ssh-copy-idnode01回车,
输入密码:
123456(不显示)回车,
sshnode01回车,
exit回车,
exit回车,关闭终端。
4、检验ssh是否配置成功,需要在两台机器上均进行以下操作:
在第一台计算机的桌面上打开一个终端,
sshnode02回车,(如果不需要密码登陆,就说明成功)
exit回车,
exit回车,关闭当前终端。
在第二台计算机的桌面上打开一个终端,
sshnode01回车,(如果不需要密码登陆,就说明成功)
exit回车,
exit回车,关闭当前终端。
关闭所有打开的窗口。
第六步MPI配置
在两台计算机上分别做以下操作,在桌面上右键打开终端,
1、编译MPI
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
cd~回车
tarxvfmpich2-1.5.tar.gz回车,
cdmpich2-1.5回车,
对2.1.5版本
./configure--prefix=/opt/mpich--with-pm=mpd:
hydra回车,
./configure--prefix=/opt/mpich
make回车,
sudomakeinstall回车,
2、测试mpi
cdexamples
对1.0.5p4版本,vi/etc/mpd.conf
当前是在~/mpich2-1.5路径下,
对2.1.5版本
vi/opt/mpich/etc/mpd.conf回车,
敲Insert键,
写入
MPD_SECRETWORD=mr45-j9z
(等号后边内容任意,下同,不同的机器上整行内容相同)
Esc(保存),Shift+z+z(退出),
对1.0.5p4版本,chmod600/etc/mpd.conf
对2.1.5版本
chmod600/opt/mpich/etc/mpd.conf回车。
vi~/.mpd.conf回车,
敲Insert键,
写入
MPD_SECRETWORD=mr45-j9z
Esc(保存),Shift+z+z(退出),
对2.1.5版本
chmod600~/.mpd.conf回车。
对两台计算机,点击菜单“系统”,点击“关机”,点击“重启”,重启计算机。
重启后,鼠标点击“其它…”,
在“用户名”后输入root回车,
在“密码”后输入123456回车。
在第一台计算机上执行下面的命令
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
cdmpich2-1.5回车,
cdexamples/回车,
mpd&回车,
(假如命令运行出错,可能是Python的版本不合适,如果想退出mpd,使用mpdallexit)
mpirun-np8./cpi回车
其中8指的是线程数。
mpdallexit回车
然后在第二台计算机上执行下面的命令
在桌面上打开终端
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
cdmpich2-1.5回车,
cdexamples回车,
mpd&回车,
(假如命令运行出错,可能是Python的版本不合适,如果想退出mpd,使用mpdallexit)
mpirun-np8./cpi回车
其中8指的是线程数
mpdallexit回车
2、在启动mpdboot的机器上创建一个参与计算的host列表文件:
当前终端提示符为root@node01examples和root@node02examples
在集群的所有计算机上,依次
cd~回车,
touchmpd.hosts回车,
vimpd.hosts回车,
敲“Insert”键,
在空白处加入下面两行
node01
node02
Esc(保存),Shift+z+z(退出),
在两台计算机上都要做以上操作。
4、启动集群
只能在其中一台计算机(第一台计算机)上启动集群,单机器计算时不需要执行此步命令。
当前终端提示符为root@node01~,
mpdboot-n2-f~/mpd.hosts回车,
其中2表示2台机器。
然后退出集群,
mpdallexit回车。
关闭两台计算机上的所有打开的终端和文件夹窗口。
第七步FFTW的安装
在两台计算机上均需要进行以下操作,
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
cd~回车
tarxvffftw-2.1.5.tar.gz回车,
cdfftw-2.1.5回车,
./configure--prefix=/opt/fftw回车,
make回车,
sudomakeinstall回车,
关闭两台计算机上的所有打开的终端和文件夹窗口。
第八步编译并行版本的lammps
在两台计算机上均需要进行以下操作,
双击桌面上的“root的主文件夹”,在文件夹内部单击鼠标右键,选择“在终端中打开”,
cd~回车
tarxvflammps.tar.gz回车,
cdlammps-6Dec12回车,
cdsrc回车,
cdMAKE回车,
viMakefile.g++回车,
敲“Insert”键,
对Makefile.g++文件做以下修改:
①将编译器和链接器都设为g++,即
将CC=g++4
LINK=g++4
改为CC=g++
LINK=g++
①指定MPI的安装路径,即
将MPI_INC=-DMPICH_SKIP_MPICHXX
MPI_PATH=
MPI_LIB=-lmpich–lmpl-lpthread
改为MPI_INC=-I/opt/mpich/include-DMPICH_SKIP_MPICXX
MPI_PATH=-L/opt/mpich/lib
MPI_LIB=-lmpich–lmpl-lpthread(不改动)
②指定FFTW的安装路径,即
将FFT_INC=-DFFT_FFTW
FFT_PATH=
FFT_LIB=-lfftw
改为FFT_INC=-I/opt/fftw/include-DFFT_FFTW
FFT_PATH=-L/opt/fftw/lib
FFT_LIB=-lfftw(不改动)
Esc(保存),Shift+z+z(退出)
3、准备工作结束,进行编译工作
cd~/lammps-6Dec12/src回车,
makeg++回车,
将可执行文件lmp_g++从root的主文件夹/lammps-6Dec12/src目录下拷贝粘贴至桌面备用
第九步、测试lammps并行计算
1、两台机器都连接到交换机上(两机器的)
1)多机并行
●将需要计算的文件夹拷贝粘贴到集群中的每台计算机上,需要存放到相同的路径下,如桌面上。
●在集群的任意一台计算机上,在运算文件目录下打开终端,在其中执行
mpdboot–n2–f~/mpd.hosts回车,
确保集群中所有机器的运算文件夹里都有lmp_g++可执行文件,
mpiexec-n6./lmp_g++其中数字2指的是参与集群运算的机器数,6指的是线程数,此时点击菜单“应用程序”,选“系统工具”,点击“系统监视器”,点击“资源”选项卡,可以观察每台计算机CPU的运算情况。
可以用Ctrl+C中断运算。
注意:
生成的文件在启动集群的那台计算机上。
●计算结束后要输入
mpdallexit回车,
如果计算结束后还有计算机CPU在工作,则要在运算文件夹中打开终端,用pstree–p查看正在进行的进程,然后输入
pkilllmp_g++回车
杀死运行中的进程,确认所有CPU都停止工作。
2)单机并行
将需要计算的文件夹拷贝粘贴到当前计算机上,需要存放到相同的路径下,如桌面上。
在运算文件夹内打开终端,
mpd&(此命令在任何路径下输入均可)
mpirun-n2./lmp_g++其中-n后边的数字2表示线程数。
计算结束后要输入mpdallexit回车
2、两台机器直接相联
确认两机器的网卡用网线直接相联,
网络设置:
右键单击右上方日期前“网络连接”的图标,选中“启用通知”,左键单击“编辑连接”,双击“systemeth0”,选中“自动连接”,选择“IPV4设置”,方法选择“手动”,删除DNS服务器的内容,单击“应用”,单击“关闭”。
重要:
两台机器直接相联,两台计算机的DNS服务器内容必须为空。
1)联机运算
(如果已有启动的mpd或mpdboot,则要输入mpdallexit此步命令以退出mpd程序,否则不输入,不确定的情况也可输入此命令,如果出现mpdroot:
perrormsg:
Nosuchfileordirectory等几行信息,说明mpd程序已经退出,不用管,继续下面的操作)
确保参加集群计算的所有机器所要运算的文件都在相同目录下
mpdboot–n2–f~/mpd.hosts
mpiexec-n2./lmp_g++mpdallexit
2)单机运算
在运算文件夹内打开终端,
(如果已有启动的mpd或mpdboot,则要输入mpdallexit此步命令以退出mpd程序,否则不输入,不确定的情况也可输入此命令,如果出现mpdroot:
perrormsg:
Nosuchfileordirectory等几行信息,说明mpd程序已经退出,不用管,继续下面的操作)
mpd&
mpirun–n6./lmp_g++注意:
以上联机运算、单机运算之间切换不需要执行其他操作
下面是比较常用的几个命令:
查看进程:
pstree-p
强制停止某一进程:
pkilllmp_g++(杀掉名为lmp_g++的进程)