【问题标题】:mpi cannot access process rankmpi 无法访问进程等级
【发布时间】:2017-01-22 13:18:41
【问题描述】:

我刚刚安装了 mpi,但它似乎并不能正常工作。下面我写了这个库的一个非常简单的实现:

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

int main(int argc, char** argv)
{

    int my_rank;
    int size;
    int namelen;
    char proc_name[MPI_MAX_PROCESSOR_NAME];

    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Get_processor_name(proc_name, &namelen);

    if (my_rank == 2)
        printf("Hello – I am process 2\n"); 
    else
        printf("Hello from process %d of  %d on %s\n", my_rank, size, proc_name);

    MPI_Finalize();
}

编译并执行:

mpicc -o 例子example.c mpirun -np 4 ./示例

CLI 上的输出是:

您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1

它似乎无法访问其他进程。 我使用的是 ubuntu 16.04。

【问题讨论】:

  • 您的 MPI 安装有问题。因此,您必须提供有关它的详细信息。

标签: process mpi


【解决方案1】:

我安装了 MPI 的其他实现,因此输出中存在冲突。通过删除 OpenMPI 解决了问题

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 2014-02-06
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多