Я имею дело с программированием MPI, и я не совсем понимаю, как работает функция MPI_Scatter.
Я вызываю scatter на главном узле, поэтому мне нужно после этого вызывать MPI_Recv на подчиненных узлах?
Так должно ли это выглядеть или я ошибаюсь?
int size;
if (node == MASTER){
int arr[size * nproc];
int sub_array[size];
MPI_Scatter(arr, size, MPI_INT, sub_arr, size, MPI_INT, 0, MPI_COMM_WORLD);
//do things;
MPI_Gather(…);
} else {
int arr[size];
MPI_Recv(arr, size, MPI_INT, MASTER, 0, MPI_COMM_WORLD);
//do things;
MPI_Send(…);
}