K
knefedev
Привет всем, не могу понять почему если в следующем коде
переставить местами printf("Hello, MPI world!); и финализирующую функцию MPI_Finalize();
то я получаю снова столько вызовов функции printf() сколько у меня процессов запущено. Ведь MPI_Finalize(); должна была завершить все процессы?
Код:
#include<mpi.h>
#include<stdio.h>
int main(int argc, char** argv)
{
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
printf("Hello, MPI world!);
MPI_Finalize();
rеturn 0;
}
переставить местами printf("Hello, MPI world!); и финализирующую функцию MPI_Finalize();
Код:
#include<mpi.h>
#include<stdio.h>
int main(int argc, char** argv)
{
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
MPI_Finalize();
printf("Hello, MPI world!);
rеturn 0;
}
то я получаю снова столько вызовов функции printf() сколько у меня процессов запущено. Ведь MPI_Finalize(); должна была завершить все процессы?