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