FEniCS中文翻译

HPC集群平台搭建

2019-10-12  本文已影响0人  马鹏飞_47c5

step 0 : 在每一台机子上安装openmpi

以两台电脑为例,现在在两台电脑上都安装好了Ubuntu19.04

一台机子的名称为npuheart0,ip为192.168.1.105

另台机子的名称为npuheart1,ip为192.168.1.106

先更新一下两台机器的系统:

sudo apt-get update
sudo apt-get upgrade

安装ssh以及其他一些杂七杂八的软件

sudo apt-get install openssh-server
sudo apt-get install gcc g++ gfortran make cmake zlib1g-dev python m4 vim
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev

step 1:配置hosts文件

用名称代替IP地址,方便通信。

在第一台机子上的修改:

$ cat /etc/hosts
192.168.1.106   npuheart1

在第二台机子上的修改:

$ cat /etc/hosts
192.168.1.105   npuheart0

step 2:创建一个新用户

每台电脑上进行以下操作,创建一个新用户,使MPI并行的配置和其他用户隔离。

sudo adduser mpiuser

step 3:启动SSH

两台机器将会通过SSH通信,并且通过NFS共享数据。

  1. 进入mpiuser账户
  2. 生成密钥
  3. 将密钥拷贝给其他用户
  4. 开启无密码通信

下面以npuheart0为例子:

su - mpiuser
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub npuheart1

step 4:启动NFS

NFS服务器的安装

  1. 安装nfs-kernel-server
  2. 创建并共享一个文件夹cloud
  3. 设置文件夹的入口exports
  4. 重启nfs-kernel-server
sudo apt-get install nfs-kernel-server
su - mpiuser
mkdir cloud:
sudo vi /etc/exports
/home/mpiuser/cloud *(rw,sync,no_root_squash,no_subtree_check)
sudo exportfs -a
sudo service nfs-kernel-server restart

NFS客户端的安装

sudo apt-get install nfs-common
mkdir cloud
sudo mount -t nfs master:/home/mpiuser/cloud ~/cloud
df -h
$ cat /etc/fstab
#MPI CLUSTER SETUP
master:/home/mpiuser/cloud /home/mpiuser/cloud nfs

step 5:运行MPI程序

  1. 编译mpi程序

    mpicxx sample.cpp

  2. 将程序拷贝到cloud文件夹下

  3. 在当前机器中跑:

    mpirun -np 2 ./a.out

  4. 在集群中跑:

    mpirun -np 5 -hostfile hosts ./a.out

hosts 文件是当前目录下的文件,内容是:

npuheart0    slots=4
npuheart1    slots=4

期间遇到的问题及解决方法

  1. 起先使用了apt安装的mpich程序,遇到的问题是多机并行时MPI_Comm_dup函数的使用出现了玄学错误,于是把它卸载了,安装了openmpi,解决了问题。

  2. 出现了有关askpass的错误,通过sudo apt-get install ssh-askpass解决了。

最后的使用注意
  1. 进入cloud文件夹,创建个人文件夹,只在自己的文件夹里操作,尊重他人隐私
  2. 编译命令跟以前一样,不同的是mpirun命令,需要hosts参数
  3. 复制cloud目录下的hosts文件,和程序放到一起
  4. mpirun -np 12 -hostfile hosts ./main3d2019 input3d_noP_fine > output_noP_fine
参考教程

https://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/

上一篇 下一篇

猜你喜欢

热点阅读