c - 打开 MPI - mpirun 在简单程序上因错误而退出

标签 c mpi openmpi

我最近在我的电脑上安装了 OpenMPI,当我尝试运行一个简单的 Hello World 程序时,它退出并出现下一个错误:

-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------

这是程序的源代码:

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

int main(int argc, char *argv[])
{
    int size, rank;

    MPI_Init(&argc, &argv);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);

    printf("Hello\n");

    MPI_Finalize();

    return 0;
}

这是我编译程序的方式:

mpicc -o hello hello.c

然后我执行它

mpirun -np 2 hello

它在编译时没有抛出错误,如果我运行 ./hello,它运行正常。

请原谅我的英语,欢迎任何更正。

最佳答案

你必须 ./可执行文件名 试试这个,mpirun -np 2 ./hello

关于c - 打开 MPI - mpirun 在简单程序上因错误而退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31330511/

相关文章:

c - 调试程序

c - 在 C 中的函数之间共享数据值

c - 为什么一个内核执行的指令多于它所占的指令份额?

fortran - 使用 MPI-2 的 RMA 函数的 Fortran 程序中的段错误

compilation - 编译期间openmpi错误

c - 多线程 C qsort char 数组

c++ - clock() 和 MPI_Wtime() 之间的区别

c - MPI_Cart_shift 不返回邻居

process - 如何在 OpenMPI 中用 --map-by 替换 --cpus-per-proc

c - MPI_Waitany 导致段错误