Виконання формального аналiзу iнформацiйної незалежності операторiв, страница 4

                    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;

}

//Алгоритм програми: