我在一个简单的程序中使用MPI_ALLREDUCE时出现分段错误

时间:2015-03-23 18:48:50

标签: segmentation-fault mpi

这是我的代码:

#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
    int tmpv = 10, tmpvsum;
    MPI_INIT(&argc, &argv);
    printf("begin allreduce.");
    MPI_REDUCE(&tmpv,&tmpvsum,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD);
    printf("tmpv : %4d",tmpvsum);
    MPI_FINALIZE();
    return 0;
}

我使用以下命令成功编译了它:

mpiicc -o test_reduce test_reduce.c

但是当我运行它时,我不断得到分段错误。 我无法看到代码的任何问题。

1 个答案:

答案 0 :(得分:1)

问题是:

功能&#34; MPI_REDUCE&#34;应写成&#34; MPI_Reduce&#34;

然而,&#39; mpicc&#39;也不是&#39; mpiicc&#39;在汇编中报告此问题。