MPI_Send(&message, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);
// Виведення часов. мiтки кiнця
curtime=MPI_Wtime();
printf("5) End time: %d\n",curtime);
MPI_File_iwrite(fh,&message,1,MPI_INT,&req);
}
break;
case 0:
{
// Виведення часов. мiтки
curtime=MPI_Wtime();
printf("0) Start time: %d\n",curtime);
wait(3); // Очiкування, що iмiтуе роботу
// Надрукувати даннi, що передаються
printf("0) Send '%i' for 4\n", message);
MPI_Send(&message, 1, MPI_INT, 3, TAG, MPI_COMM_WORLD);
// Надрукувати даннi, що передаються
printf("0) Send '%i' for 7\n", message);
MPI_Send(&message, 1, MPI_INT, 6, TAG, MPI_COMM_WORLD);
// Виведення часов. мiтки кiнця
curtime=MPI_Wtime();
printf("0) End time: %d\n",curtime);
MPI_File_iwrite(fh,&message,1,MPI_INT,&req);
}
break;
case 4:
{
// Виведення часов. мiтки
curtime=MPI_Wtime();
printf("4) Start time: %d\n",curtime);
// Отримання даних, запис у локальнi змыннi та виведення на екран
MPI_Recv(&message, 1 ,MPI_INT, 7, TAG, MPI_COMM_WORLD, &status);
v1 = message;
printf("Recieved: %i %i\n",v1);
wait(5); // Очiкування, що iмiтуе роботу
// Надрукувати даннi, що передаються
printf("4) Send '%i' for 2\n", message);
MPI_Send(&message, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);
// Виведення часов. мiтки кiнця
curtime=MPI_Wtime();
printf("4 End time: %d\n",curtime);
MPI_File_iwrite(fh,&message,1,MPI_INT,&req);
}
break;
case 6:
{
// Виведення часов. мiтки
curtime=MPI_Wtime();
printf("6) Start time: %d",curtime);
// Отримання даних, запис у локальнi змыннi та виведення на екран
MPI_Recv(&message, 1 ,MPI_INT, 1, TAG, MPI_COMM_WORLD, &status);
v1 = message;
MPI_Recv(&message, 1 ,MPI_INT, 3, TAG, MPI_COMM_WORLD, &status);
v2 = message;
printf("6) Recieved: %i \n",v1,v2);
wait(2); // Очiкування, що iмiтуе роботу
// Надрукувати даннi, що передаються
printf("6) Send '%i' for 2\n", message);
// Передача даних iншим блокам
MPI_Send(&message, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);
// Виведення часов. мiтки кiнця
curtime=MPI_Wtime();
printf("6) End time: %d\n",curtime);
MPI_File_iwrite(fh,&message,1,MPI_INT,&req);
}
break;
case 1:
{
// Виведення часов. мiтки
curtime=MPI_Wtime();
printf("1) Start time: %d\n",curtime);
// Отримання даних, запис у локальнi змыннi та виведення на екран
MPI_Recv(&message, 1 ,MPI_INT, 3, TAG, MPI_COMM_WORLD, &status);
v1 = message;
MPI_Recv(&message, 1 ,MPI_INT, 4, TAG, MPI_COMM_WORLD, &status);
v2 = message;
MPI_Recv(&message, 1 ,MPI_INT, 5, TAG, MPI_COMM_WORLD, &status);
v3 = message;
MPI_Recv(&message, 1 ,MPI_INT, 6, TAG, MPI_COMM_WORLD, &status);
v4 = message;
printf("1) Recieved: %i %i %i %i\n",v1,v2,v3,v4);
wait(1); // Очiкування, що iмiтуе роботу
// Виведення часов. мiтки кiнця
curtime=MPI_Wtime();
printf("1) End time: %d\n",curtime);
MPI_File_iwrite(fh,&message,1,MPI_INT,&req);
}
break;
}
MPI_File_close(&fh);
free("status.sts");
MPI_Finalize();
return 0;
}
//Алгоритм програми:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.