MPI阻塞式发送与接收的工作机制解析及学习疑问解答
MPI阻塞式发送与接收示例代码整理
嘿,我知道你正在啃MPI阻塞式发送与接收的内容,还碰到了些疑问,调研时找到了这段示例代码(来自资料第6-7页)。我把它用规范的格式整理好了,方便你查看:
#include "mpi.h" #include <stdio.h> #include <stdlib.h> #define MASTER 0 int main (int argc, char *argv[]) { int numtasks, taskid, len, partner, message; char hostname[MPI_MAX_PROCESSOR_NAME]; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &taskid); MPI_Comm_size(M... }
关于阻塞式收发的几个关键点
- 阻塞式的
MPI_Send和MPI_Recv会卡住当前进程,直到操作彻底完成:MPI_Send要么把数据成功递交给接收方,要么把数据拷贝到MPI的系统缓冲区后才会返回MPI_Recv必须等指定的数据完全接收完毕,才会解除阻塞
- 代码里的
MPI_Status是用来记录接收操作状态的结构体,能拿到实际接收的数据量、发送方进程ID这些信息
内容的提问来源于stack exchange,提问作者Bab
相关产品推荐
相关产品推荐

