You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu 22.04本地安装OpenMPI、MPICH等MPI变体且互不干扰?

在Ubuntu 22.04中多版本MPI管理的简便方案

针对Ubuntu 22.04下同时管理OpenMPI、MPICH等多版本MPI且互不干扰的需求,推荐以下几种比手动单独安装更简便的方案:

1. 用Environment Modules统一管理(最推荐)

这是专门用于多版本软件环境切换的工具,操作直观且能彻底隔离不同版本的环境变量:

  • 首先安装工具:
    sudo apt update && sudo apt install environment-modules
    
  • 重启终端或执行source /etc/profile.d/modules.sh使模块生效
  • 为每个MPI版本创建模块文件:
    比如在/etc/modules.d/目录下新建openmpi-4.1.4文件,内容如下:
    #%Module1.0
    prepend-path PATH /opt/mpi/openmpi-4.1.4/bin
    prepend-path LD_LIBRARY_PATH /opt/mpi/openmpi-4.1.4/lib
    prepend-path MANPATH /opt/mpi/openmpi-4.1.4/share/man
    
    同理创建mpich-3.4.3文件,替换路径为对应MPICH的安装目录
  • 切换版本:
    # 加载OpenMPI 4.1.4
    module load openmpi-4.1.4
    # 加载MPICH 3.4.3
    module load mpich-3.4.3
    # 查看已加载模块
    module list
    # 卸载当前模块
    module unload openmpi-4.1.4
    

2. 用系统自带的update-alternatives切换(适合apt安装的版本)

如果你的MPI版本是通过Ubuntu官方源安装的,用这个工具无需额外安装软件:

  • 先安装需要的MPI版本:
    sudo apt install openmpi-bin mpich
    
  • 为mpicc、mpicxx、mpiexec等核心工具配置替代项:
    # 添加OpenMPI的mpicc替代
    sudo update-alternatives --install /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi 100
    # 添加MPICH的mpicc替代
    sudo update-alternatives --install /usr/bin/mpicc mpicc /usr/bin/mpicc.mpich 200
    # 同理配置mpicxx、mpiexec等
    sudo update-alternatives --install /usr/bin/mpicxx mpicxx /usr/bin/mpicxx.openmpi 100
    sudo update-alternatives --install /usr/bin/mpicxx mpicxx /usr/bin/mpicxx.mpich 200
    sudo update-alternatives --install /usr/bin/mpiexec mpiexec /usr/bin/mpiexec.openmpi 100
    sudo update-alternatives --install /usr/bin/mpiexec mpiexec /usr/bin/mpiexec.mpich 200
    
  • 切换版本时执行:
    sudo update-alternatives --config mpicc
    sudo update-alternatives --config mpicxx
    sudo update-alternatives --config mpiexec
    
    然后按提示选择对应版本的序号即可

3. 手动编译+别名/脚本快速切换(适合自定义编译版本)

如果你需要编译特定版本的MPI,可安装到独立目录后用别名或脚本简化切换:

  • 比如将OpenMPI 4.1.4安装到/opt/mpi/openmpi-4.1.4,MPICH 3.4.3安装到/opt/mpi/mpich-3.4.3
  • 在~/.bashrc中添加别名:
    alias use-openmpi='export PATH=/opt/mpi/openmpi-4.1.4/bin:$PATH; export LD_LIBRARY_PATH=/opt/mpi/openmpi-4.1.4/lib:$LD_LIBRARY_PATH'
    alias use-mpich='export PATH=/opt/mpi/mpich-3.4.3/bin:$PATH; export LD_LIBRARY_PATH=/opt/mpi/mpich-3.4.3/lib:$LD_LIBRARY_PATH'
    
  • 执行source ~/.bashrc生效后,切换版本只需输入:
    use-openmpi
    # 验证版本
    mpicc --version
    use-mpich
    mpicc --version
    

内容的提问来源于stack exchange,提问作者Raphael Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:16:24