函数MPI的返回值

时间:2013-01-08 19:37:11

标签: c++ linux mpi

我运行一个每个进程都进入的函数。进行了一些计算,然后所有进程从该函数退出,但只有等级0的进程返回一些东西。问题是在return语句中,值是正确的,但在main中,我分配函数的结果,返回值为0.这里有一段代码:

MPI_Barrier(MPI_COMM_WORLD);
CCI = TestKNN (tlist, data, true, mode, false, false);      
MPI_Barrier(MPI_COMM_WORLD);

.......

TestKNN(....)
{
    int res; 
    if (rank == 0)
    {
          res = 0;
          send data to each process and receive result
          receive result from every process
          res += return_value
    }
    else
    {
         receive data
         work on data
         send result to rank 0
    }

    if (rank == 0)
         return res
 }

可能是什么问题?

0 个答案:

没有答案