Я пытаюсь отправить массив через MPI:
if( proc_num == 0 ){
int serializedData[ 69];
// fill array
MPI_Send(serializedData, 69, MPI_INT, 1, 1, MPI_COMM_WORLD);
}else{
int serializedData[ 69];
MPI_Recv(serializedData, 69, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status);
}
Однако, используя это, я получаю сообщение об ошибке:
* Произошла ошибка в MPI_Recv сообщается процессом [556924929,1] на коммуникаторе MPI_COMM_WORLD MPI_ERR_TRUNCATE: сообщение обрезано MPI_ERRORS_ARE_FATAL (процессы в этом коммуникаторе теперь прерываются, * и, возможно, ваша работа MPI) [warn] Epoll ADD (4) на fd 0 не удалось.Старые события были 0;изменение чтения было 0 (нет);изменение записи было 1 (добавить): Неверный дескриптор файла
Однако, когда я отправляю только 20 элементов, это работает (но отправка 50, например, приводит к той же ошибке).
Что я делаю неправильно?Почему это происходит?
Спасибо за помощь!