在 Raspberry Pi 上安装和运行 MPICH3
最编程
2024-03-11 07:48:23
...
在树莓派上安装和运行MPICH3
本实验环境:
树莓派Raspberry Pi 3B
系统版本"Description: Raspbian GNU/Linux 10 (buster)"
镜像:"2019-09-26-raspbian-buster-full.img"
软件:Xshell
安装
- 在主目录 /home/pi 建立目录mpich3,并进入
~ $ mkdir mpich3
~ $ cd mpich3
- 在mpich3目录下建立子目录build(建立子目录build作为建置目录,用来存放建置时产生的档案,跟mpi原始码目录分开来,让原始码目录保持干净)
~/mpich3 $ mkdir build
- 建立安装目录(建立安装目录,之后会把建置好的东西(脚本档、执行档)放在这里)
~/mpich3 $ sudo mkdir /usr/local/bin/mpich32
- 下载MPICH3.2并解压
~/mpich3 $ wget http://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz
~/mpich3 $ tar zxvf mpich-3.2.tar.gz
- 进入子目录build,执行指令configure并设定参数(--prefix:指令安装路径,默认为:/usr/local/bin)
~/mpich3 $ cd build
~/mpich3/build $ /home/pi/mpich3/mpich-3.2/configure -- prefix=/usr/local/bin/mpich32 2>&1 | tee log_c.txt
「2>&1」代表把标准错误导向标准输出,「| tee log_c.txt」则是把左边指令的标准输出丢给指令tee,tee除了会输出到屏幕,也会复制一份输出到档案log_c.txt,出问题时可到此查看
- 开始建置(可能花费不少时间)
~/mpich3/build $ make 2>&1 | tee log_m.txt
- 安装
~/mpich3/build $ sudo make install 2>&1 | tee log_i.txt
- 设定执行路径,使用vim修改~/.profile,在最后面加上
export PATH=”$PATH:/usr/local/bin/mpich32/bin”
- 执行指令确认可找到MPICH的执行档
~/mpich3/build $ cd
~ $ which mpicc
/usr/local/bin/mpich32/bin/mpicc
~ $ which mpiexec
/usr/local/bin/mpich32/bin/mpiexec
到这里MPICH算是安装成功了!
执行
测试执行范例程式计算π :
~ $ mpiexec -n 9 ./mpich3/build/examples/cpi
多人执行
若想多台并行执行,需要让每台设备在同一网络下并且之间能够互相免密码SSH登入
1.生成公钥秘钥
~$ ssh-keygen -t rsa -C “raspberrypi@rasepberrypi”
2.查看网络所分给树莓派的ip
~$ ip addr show
如:本机192.168.43.126
3.将主机的公钥给其他三台,让主机可以免密登录其他设备
~$ sudo cat ~/.ssh/id_rsa.pub | ssh pi@192.168.43.126 “mkdir .ssh;cat >> .ssh/authorized_keys”
4.新建文件夹,把每台树莓派的ip地址填进去
~$ vim machinefile
192.168.43.64
192.168.43.126
192.168.43.46
192.168.43.160
5.运行
~ $ mpiexec -f machinefile -n 8 ./mpich3/build/examples/cpi
~$ sudo vim /etc/hostname