这是我的代码:
#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
但当我运行它时,我总是会出现分段错误。我看不出代码有任何问题。
问题是:
函数"MPI_REDUCE"应写成"MPI_REDUCE"。
然而,"mpicc"one_answers"mpiicc"都没有在编译中报告此问题。