基于MPI的X10多机程序实验平台搭建及使用手册(更新版)
目录
1、硬件环境
PC机四台
2、配置文件清单
3、安装mpich
4、安装SSH
5、配置多机运行环境
6、配置三台机子免密访问
第一步:在本机生成公钥和秘钥
第二步:互相传输公钥
7、安装JDK
8、安装ant
9、X10源码包的编译和安装
10、编译执行命令
2019.12.14
1、硬件环境
PC机四台:
l 两台ubuntu-14.04.4-desktop-amd64操作系统
l 两台ubuntu-16.04.6-desktop-amd64操作系统
l 账号都为:hpms 密码都为:123456
地址映射分别为:
hpms-1:202.117.35.221:22
hpms-2:202.117.35.220:22
hpms-3:202.117.35.202:22
hpms-4:202.117.35.201:22
cpu具体信息如下:
2、配置文件清单
l mpich-3.2.tar.gz(MPI环境)
l ssh(直接下载安装)
l jdk-8u111-linux-x64.tar.gz
l apache-ant-1.9.7-bin.tar.gz
l x10-master.zip(X10 源码包、xu.tar已编译可以直接使用)
实验路径:都在/home/hpms/x10/下。
以下以配置三台机子hpms-1,hpms-2和hpms-4为例。
3、安装mpich
l 安装gcc、g++以及gfortran三个编译器;
- #sudo apt-get install gcc
- #sudo apt-get install g++
- #sudo apt-get install gfortran
- #sudo apt-get update(更新apt-get的安装版本,从而保证安装的资源最新)
l 安装mpich
- 将下载的mpich-3.2.tar.gz拷贝至/home/hpms/x10/下
- 进入当前目录(#cd /home/hpms/x10)并解压(#tar -zxvf mpich-3.2.tar.gz)
- 进入mpich-3.2根目录下( #cd /home/hpms/x10/ mpich-3.2 )
- 配置( #./configure 2>&1 | tee c.txt )
- 编译( #make 2>&1 | tee m.txt)
- 安装( #make install |& tee mi.txt )
- 测试 ( #which mpicc 和 #which mpiexec)
4、安装SSH
l #sudo apt-get install ssh
5、配置多机运行环境
l 修改/etc/hostname文件(#sudo vim /etc/hostname)
l 修改/etc/hosts文件配置(#sudo vim /etc/hosts)
l 重启(#sudo reboot)
6、配置三台机子免密访问
第一步:在本机生成公钥和秘钥
l 进入.ssh目录下,使用命令 >>>ssh-keygen -t rsa 生成秘钥 ;
l 出现冒号(:)回车即可,要按三次回车。如果出现(yes/no)输入yes。
第二步:互相传输公钥
hpms-2与hpms-1互传
l 将hpms-2的公钥传送到hpms-1中并重命名为02.pub
#scp ~/.ssh/id_rsa.pub hpms-1:~/.ssh/02.pub
l 将hpms-1的公钥另复制一份并且重命名为authorized_keys
#cp ~/.ssh/id_rsa.pub authorized_keys
l 将02.pub添加到authorized_keys从而完成authorized_keys的制作
#cat ~/.ssh/02.pub >> authorized_keys
l 将在hpms-1上制作好的authorized_keys发送一份给hpms-2
#scp ~/.ssh/authorized_keys hpms-2:~/.ssh/
hpms-4与hpms-1互传
l 将hpms-4的公钥传送到hpms-1中并重命名为04.pub
#scp ~/.ssh/id_rsa.pub hpms-1:~/.ssh/04.pub
l 将04.pub添加到authorized_keys从而完成authorized_keys的制作
#cat ~/.ssh/04.pub >> ~/.ssh/authorized_keys
l 将在hpms-1上制作好的authorized_keys发送一份给hpms-4
#scp ~/.ssh/authorized_keys hpms-4:~/.ssh/
注:
如果使用hpms-4不行的话,说明hostname和hosts文件修改失败,可以使用hpms-4的地址hpms@202.117.35.201代替。
hpms-4与hpms-2互传
l 将hpms-4的公钥传送到hpms-2中并重命名为04.pub
#scp ~/.ssh/id_rsa.pub hpms-2:~/.ssh/04.pub
l 将04.pub添加到authorized_keys从而完成authorized_keys的制作
#cat ~/.ssh/04.pub >> ~/.ssh/authorized_keys
l 将在hpms-2上制作好的authorized_keys发送一份给hpms-4
#scp ~/.ssh/authorized_keys hpms-4:~/.ssh/
验证:
>>>ssh hpms@202.117.35.220
如果直接显示,即表示免密登录设置成功。如果仍需要输入密码,则表示设置失败。
7、安装JDK
l 在/home/hpms/x10/下解压jdk-8u111-linux-x64.tar.gz
#sudo tar zxvf jdk-8u111-linux-x64.tar.gz
l 用vi/vim编辑器编辑~/.bashrc文件(进入后在最后一行编辑)
export JAVA_HOME=/home/hpms/x10/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
l 编辑完在重读文件
–#source ~/.bashrc
l 测试:
输入
#java –version
#java
8、安装ant
l 在/home/hpms/x10/下解压apache-ant-1.9.7-bin.tar.gz
–#sudo tar zxvf apache-ant-1.9.7-bin.tar.gz
l 输入命令>>>vim ~/.bashrc(进入后在最后一行编辑PATH)
–export PATH=/home/hpms/x10/apache-ant-1.9.7/bin:${JAVA_HOME}/bin:$PATH
l vi编辑完后重新读文件
–#source ~/.bashrc
l 测试是否成功
–#ant –version
9、X10源码包的编译和安装
将已编译好的压缩包xu.tar传输到/hpms/x10目录下,只需解压(#sudo tar zxvf xu.tar)后设置环境变量即可。
l 设置环境变量(更改~/.bashrc)
–PATH=/home/hpms/x10/x10-master/x10.dist/bin:/home/hpms/x10/apache-ant-1.9.7/bin:${JAVA_HOME}/bin:$PATH
l 编辑完后重新读文件
–#source ~/.bashrc
l 测试是否成功
#x10c++
l 配置mpi_config_file文件
在/home/目录下(和/home/hpms同一个目录,这个文件编译时要用)新建一个文件mpi_config_file:
在文件里里面设定每个机子上最大节点数:
注:如上所设置,则进入/mpich-3.2/example/目录下,找到有已编译过的执行文件cpi,输入>>> mpiexec -n 16 -f /home/mpi_config_file ./cpi,发现16个进程都来自hpms-1;
当-n=17时,有16个来自hpms-1,有1个来自hpms-2:
当-n=25时,有16个来自hpms-1,有8个来自hpms-2,有1个来自hpms-4:
当-n=37时,有16+1个来自hpms-1,有8个来自hpms-2,有12个来自hpms-4:
10、编译执行命令:
红色为文件名
编译:>>>x10c++ -o Hello Hello.x10 -x10rt mpi
运行:>>>mpiexec -n 20 -f /home/mpi_config_file ./Hello
注:
需要提前把程序分别拷贝至三台实验机同一路径下,并分别编译好,然后在一台机子上执行运行命令即可。
//end
2019.12.14