我正在尝试通过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作业)[警告] fd 0上的Epoll ADD(4)失败。旧 事件为0;读取更改为0(无);写更改为1(添加):错误 文件描述符
但是,当我仅发送例如20个元素时,它就可以工作(但是发送50个元素会导致相同的错误)。
我在做什么错?为什么会这样呢?
感谢帮助!