Linux或者ubuntu子系统中OpenMPI的安装

在Linux中安装MPI(Message Passing Interface)需要以下步骤:

  1. 检查依赖项:首先,确保系统已经安装了必要的编译工具和库文件。运行以下命令更新软件包并安装所需依赖项:

    sudo apt update
    sudo apt install build-essential
    

在这里插入图片描述

  1. 下载MPI:可以从MPI官方网站(https://www.mpi-forum.org/)下载最新版本的MPI源代码包,或者使用特定发行版的软件包管理器安装MPI。在大多数Linux系统上,可以使用以下命令安装Open MPI:

    sudo apt install openmpi-bin libopenmpi-dev
    
  2. 配置环境变量:安装完成后,需要将MPI的相关路径添加到系统的环境变量中。编辑当前用户的shell配置文件(如~/.bashrc 或~/.zshrc),并添加以下行:

    export PATH=/usr/lib/openmpi/bin:$PATH
    export LD_LIBRARY_PATH=/usr/lib/openmpi/lib:$LD_LIBRARY_PATH
    

在这里插入图片描述

然后运行以下命令使配置生效:

source ~/.bashrc  # or source ~/.zshrc
  1. 验证安装:运行以下命令验证MPI是否成功安装:

    mpicc --version
    

    如果安装成功,将显示MPI的版本信息。
    在这里插入图片描述

现在,MPI已经成功安装在你的Linux系统中。你可以使用MPI来编写和运行并行计算程序。通过MPI,你可以在多个进程之间进行通信和协同工作,以实现并行计算任务的分布式执行。你可以使用mpicc编译MPI程序,然后使用mpiexec运行程序。

以下是一个简单的MPI示例程序:

#include <stdio.h>
#include <mpi.h>

int main(int argc, char* argv[]) {
    int rank, size;
    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    printf("Hello from process %d of %d\n", rank, size);
    MPI_Finalize();
    return 0;
}

保存为testmpi.c,然后运行以下命令编译并运行程序:

mpicc -o testmpi testmpi.c
mpiexec -n 4 ./testmpi

在这里插入图片描述

这将在4个进程中运行程序,并输出每个进程的信息。

5.可能会出现CMA警告

WARNING: Linux kernel CMA support was requested via the
btl_vader_single_copy_mechanism MCA variable, but CMA support is
not available due to restrictive ptrace settings.

The vader shared memory BTL will fall back on another single-copy
mechanism if one is available. This may result in lower performance.

此时需要将用户切换为root,并在终端里输入:

echo 0 > /proc/sys/kernel/yama/ptrace_scope 

在这里插入图片描述

希望以上步骤能够帮助你在Linux系统上成功安装MPI并开始使用它进行并行计算。

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值