• 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

  • 相关阅读:
    数据压缩和归档
    数据持久化
    文件和目录的使用
    数据及数据处理
    data types
    string services
    logging模块
    指导
    比较两个NSDate类型的参数相差的时间差
    推送 iOS 10
  • 原文地址:https://www.cnblogs.com/zhcpku/p/15636760.html
Copyright © 2020-2023  润新知