在Win10的WSL内开发mpi程序。步骤如下:
本地用的Ubuntu的WSL环境,默认的openmpi是2.x版本,比较老旧,我们手动安装stable的3.4.2版本。
下载源码并解压:
cd
wget http://www.mpich.org/static/downloads/3.4.2/mpich-3.4.2.tar.gz
tar -xvzf mpich-3.4.2.tar.gz
创建安装文件夹:
mkdir mpich-install
配置和编译:
cd mpich-3.4.2
./configure -prefix=$HOME/mpich-install --with-device=ch3 --disable-fortran
make -j8 && make install -j8
- wsl不支持默认的ch4,报错
configure: error: no ch4 netmod selected
,根据建议我们使用ch3设备;同时我也需要fortran支持,也不安装 *
修改并激活环境变量:
export MPI_ROOT=$HOME/mpich-install
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/man:$MANPATH
source ~/.bashrc
测试:
which mpicc
mpirun -np 8 ./examples/cpi
ps: 如果代码中用到了 numa,为了编译能通过而不必每次都来回修改源文件和Makefile,可以通过以下方式安装 numa 库通过编译:
Ubuntu: sudo apt install libnuma-dev
CentOS: sudo yum install libnuma-devel