【发布时间】:2011-07-15 08:56:59
【问题描述】:
在一个简单的 MPI 程序中,我使用了大矩阵的按列除法。 如何对输出进行排序,以便每个矩阵出现在另一个有序矩阵旁边? 我试过这个简单的代码,效果和想要的完全不同:
for(int i=0;i<10;i++)
{
for(int k=0;k<numprocs;k++)
{
if (my_id==k){
for(int j=1;j<10;j++)
printf("%d",data[i][j]);
}
MPI_Barrier(com);
}
if(my_id==0)
printf("\n");
}
似乎每个进程都有自己的标准输出,因此如果不将所有数据发送到一个将打印出来的主控,就不可能有有序的行输出。我的猜测是真的吗?还是我做错了什么?
【问题讨论】:
-
注意:我也试过fflush每个进程的输出......没有得到我想要的结果;-)。