WSL安装mpich 3.4.2

之前开发mpi程序的时候,编译测试都在服务器上,通过vscode remote来远程开发。但是vscode的cpptools插件存在严重的性能问题,且至今都看不到改善的希望,导致性能测试的时候经常出现剧烈的波动。由于本地有一个8核32G内存的机器,开发编译mpi程序完全够用,打算把开发环境放回本地,服务器只用来性能测试,告别vscode remote的影响。

因为本地机器还有office处理、即时通信等需求,所以我们不直接使用Linux,而是在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

posted @ 2021-12-03 10:07  与MPI做斗争  阅读(1341)  评论(0编辑  收藏  举报