Упорядочивание вывода в MPI

в простой программе 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");
}

Кажется, что каждый процесс имеет свой собственный стандартный вывод, и поэтому невозможно получить упорядоченные строки вывода без отправки всех данных одному мастеру, который распечатает. Верна ли моя догадка? Или что я делаю не так?

14
задан osgx 12 March 2017 в 11:28
поделиться